cfacter 3.11.0.rc.20180314

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1046) hide show
  1. checksums.yaml +7 -0
  2. data/ext/facter/Makefile.erb +31 -0
  3. data/ext/facter/cpp-hocon/CMakeLists.txt +67 -0
  4. data/ext/facter/cpp-hocon/CONTRIBUTING.md +9 -0
  5. data/ext/facter/cpp-hocon/LICENSE +17 -0
  6. data/ext/facter/cpp-hocon/MAINTAINERS +33 -0
  7. data/ext/facter/cpp-hocon/README.md +74 -0
  8. data/ext/facter/cpp-hocon/acceptance/Gemfile +18 -0
  9. data/ext/facter/cpp-hocon/acceptance/Rakefile +7 -0
  10. data/ext/facter/cpp-hocon/acceptance/tests/fake.rb +0 -0
  11. data/ext/facter/cpp-hocon/appveyor.yml +41 -0
  12. data/ext/facter/cpp-hocon/lib/CMakeLists.txt +94 -0
  13. data/ext/facter/cpp-hocon/lib/Doxyfile.in +2312 -0
  14. data/ext/facter/cpp-hocon/lib/inc/hocon/config.hpp +734 -0
  15. data/ext/facter/cpp-hocon/lib/inc/hocon/config_exception.hpp +184 -0
  16. data/ext/facter/cpp-hocon/lib/inc/hocon/config_include_context.hpp +51 -0
  17. data/ext/facter/cpp-hocon/lib/inc/hocon/config_includer.hpp +53 -0
  18. data/ext/facter/cpp-hocon/lib/inc/hocon/config_includer_file.hpp +30 -0
  19. data/ext/facter/cpp-hocon/lib/inc/hocon/config_list.hpp +51 -0
  20. data/ext/facter/cpp-hocon/lib/inc/hocon/config_mergeable.hpp +72 -0
  21. data/ext/facter/cpp-hocon/lib/inc/hocon/config_object.hpp +81 -0
  22. data/ext/facter/cpp-hocon/lib/inc/hocon/config_origin.hpp +98 -0
  23. data/ext/facter/cpp-hocon/lib/inc/hocon/config_parse_options.hpp +139 -0
  24. data/ext/facter/cpp-hocon/lib/inc/hocon/config_parseable.hpp +47 -0
  25. data/ext/facter/cpp-hocon/lib/inc/hocon/config_render_options.hpp +128 -0
  26. data/ext/facter/cpp-hocon/lib/inc/hocon/config_resolve_options.hpp +83 -0
  27. data/ext/facter/cpp-hocon/lib/inc/hocon/config_syntax.hpp +24 -0
  28. data/ext/facter/cpp-hocon/lib/inc/hocon/config_value.hpp +267 -0
  29. data/ext/facter/cpp-hocon/lib/inc/hocon/config_value_factory.hpp +48 -0
  30. data/ext/facter/cpp-hocon/lib/inc/hocon/functional_list.hpp +318 -0
  31. data/ext/facter/cpp-hocon/lib/inc/hocon/parser/config_document.hpp +95 -0
  32. data/ext/facter/cpp-hocon/lib/inc/hocon/parser/config_document_factory.hpp +39 -0
  33. data/ext/facter/cpp-hocon/lib/inc/hocon/parser/config_node.hpp +32 -0
  34. data/ext/facter/cpp-hocon/lib/inc/hocon/path.hpp +60 -0
  35. data/ext/facter/cpp-hocon/lib/inc/hocon/program_options.hpp +84 -0
  36. data/ext/facter/cpp-hocon/lib/inc/hocon/types.hpp +57 -0
  37. data/ext/facter/cpp-hocon/lib/inc/internal/config_document_parser.hpp +83 -0
  38. data/ext/facter/cpp-hocon/lib/inc/internal/config_parser.hpp +55 -0
  39. data/ext/facter/cpp-hocon/lib/inc/internal/config_util.hpp +17 -0
  40. data/ext/facter/cpp-hocon/lib/inc/internal/container.hpp +28 -0
  41. data/ext/facter/cpp-hocon/lib/inc/internal/default_transformer.hpp +12 -0
  42. data/ext/facter/cpp-hocon/lib/inc/internal/full_includer.hpp +13 -0
  43. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/abstract_config_node.hpp +16 -0
  44. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/abstract_config_node_value.hpp +12 -0
  45. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_array.hpp +17 -0
  46. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_comment.hpp +14 -0
  47. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_complex_value.hpp +25 -0
  48. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_concatenation.hpp +16 -0
  49. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_field.hpp +29 -0
  50. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_include.hpp +26 -0
  51. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp +45 -0
  52. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_path.hpp +25 -0
  53. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_root.hpp +24 -0
  54. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_simple_value.hpp +21 -0
  55. data/ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_single_token.hpp +20 -0
  56. data/ext/facter/cpp-hocon/lib/inc/internal/parseable.hpp +128 -0
  57. data/ext/facter/cpp-hocon/lib/inc/internal/path_builder.hpp +20 -0
  58. data/ext/facter/cpp-hocon/lib/inc/internal/path_parser.hpp +55 -0
  59. data/ext/facter/cpp-hocon/lib/inc/internal/replaceable_merge_stack.hpp +14 -0
  60. data/ext/facter/cpp-hocon/lib/inc/internal/resolve_context.hpp +53 -0
  61. data/ext/facter/cpp-hocon/lib/inc/internal/resolve_result.hpp +21 -0
  62. data/ext/facter/cpp-hocon/lib/inc/internal/resolve_source.hpp +55 -0
  63. data/ext/facter/cpp-hocon/lib/inc/internal/simple_config_document.hpp +28 -0
  64. data/ext/facter/cpp-hocon/lib/inc/internal/simple_config_origin.hpp +67 -0
  65. data/ext/facter/cpp-hocon/lib/inc/internal/simple_include_context.hpp +22 -0
  66. data/ext/facter/cpp-hocon/lib/inc/internal/simple_includer.hpp +79 -0
  67. data/ext/facter/cpp-hocon/lib/inc/internal/substitution_expression.hpp +28 -0
  68. data/ext/facter/cpp-hocon/lib/inc/internal/token.hpp +45 -0
  69. data/ext/facter/cpp-hocon/lib/inc/internal/tokenizer.hpp +143 -0
  70. data/ext/facter/cpp-hocon/lib/inc/internal/tokens.hpp +135 -0
  71. data/ext/facter/cpp-hocon/lib/inc/internal/unmergeable.hpp +20 -0
  72. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_boolean.hpp +26 -0
  73. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_concatenation.hpp +59 -0
  74. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_delayed_merge.hpp +53 -0
  75. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_delayed_merge_object.hpp +57 -0
  76. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_double.hpp +28 -0
  77. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_int.hpp +25 -0
  78. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_long.hpp +28 -0
  79. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_null.hpp +33 -0
  80. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_number.hpp +38 -0
  81. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_reference.hpp +38 -0
  82. data/ext/facter/cpp-hocon/lib/inc/internal/values/config_string.hpp +32 -0
  83. data/ext/facter/cpp-hocon/lib/inc/internal/values/simple_config_list.hpp +75 -0
  84. data/ext/facter/cpp-hocon/lib/inc/internal/values/simple_config_object.hpp +107 -0
  85. data/ext/facter/cpp-hocon/lib/namespaces.dox.in +6 -0
  86. data/ext/facter/cpp-hocon/lib/src/config.cc +573 -0
  87. data/ext/facter/cpp-hocon/lib/src/config_document_factory.cc +24 -0
  88. data/ext/facter/cpp-hocon/lib/src/config_document_parser.cc +620 -0
  89. data/ext/facter/cpp-hocon/lib/src/config_parse_options.cc +101 -0
  90. data/ext/facter/cpp-hocon/lib/src/config_parser.cc +399 -0
  91. data/ext/facter/cpp-hocon/lib/src/config_render_options.cc +44 -0
  92. data/ext/facter/cpp-hocon/lib/src/config_resolve_options.cc +24 -0
  93. data/ext/facter/cpp-hocon/lib/src/config_util.cc +95 -0
  94. data/ext/facter/cpp-hocon/lib/src/config_value_factory.cc +68 -0
  95. data/ext/facter/cpp-hocon/lib/src/default_transformer.cc +94 -0
  96. data/ext/facter/cpp-hocon/lib/src/nodes/abstract_config_node.cc +19 -0
  97. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_array.cc +13 -0
  98. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_comment.cc +15 -0
  99. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_complex_value.cc +50 -0
  100. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_concatenation.cc +14 -0
  101. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_field.cc +80 -0
  102. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_include.cc +38 -0
  103. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_object.cc +318 -0
  104. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_path.cc +47 -0
  105. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_root.cc +70 -0
  106. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_simple_value.cc +50 -0
  107. data/ext/facter/cpp-hocon/lib/src/nodes/config_node_single_token.cc +18 -0
  108. data/ext/facter/cpp-hocon/lib/src/parseable.cc +325 -0
  109. data/ext/facter/cpp-hocon/lib/src/path.cc +219 -0
  110. data/ext/facter/cpp-hocon/lib/src/path_builder.cc +38 -0
  111. data/ext/facter/cpp-hocon/lib/src/path_parser.cc +253 -0
  112. data/ext/facter/cpp-hocon/lib/src/resolve_context.cc +139 -0
  113. data/ext/facter/cpp-hocon/lib/src/resolve_source.cc +216 -0
  114. data/ext/facter/cpp-hocon/lib/src/simple_config_document.cc +69 -0
  115. data/ext/facter/cpp-hocon/lib/src/simple_config_origin.cc +246 -0
  116. data/ext/facter/cpp-hocon/lib/src/simple_include_context.cc +18 -0
  117. data/ext/facter/cpp-hocon/lib/src/simple_includer.cc +186 -0
  118. data/ext/facter/cpp-hocon/lib/src/substitution_expression.cc +35 -0
  119. data/ext/facter/cpp-hocon/lib/src/token.cc +52 -0
  120. data/ext/facter/cpp-hocon/lib/src/tokenizer.cc +568 -0
  121. data/ext/facter/cpp-hocon/lib/src/tokens.cc +257 -0
  122. data/ext/facter/cpp-hocon/lib/src/values/config_boolean.cc +34 -0
  123. data/ext/facter/cpp-hocon/lib/src/values/config_concatenation.cc +260 -0
  124. data/ext/facter/cpp-hocon/lib/src/values/config_delayed_merge.cc +223 -0
  125. data/ext/facter/cpp-hocon/lib/src/values/config_delayed_merge_object.cc +180 -0
  126. data/ext/facter/cpp-hocon/lib/src/values/config_double.cc +35 -0
  127. data/ext/facter/cpp-hocon/lib/src/values/config_int.cc +35 -0
  128. data/ext/facter/cpp-hocon/lib/src/values/config_long.cc +35 -0
  129. data/ext/facter/cpp-hocon/lib/src/values/config_null.cc +35 -0
  130. data/ext/facter/cpp-hocon/lib/src/values/config_number.cc +78 -0
  131. data/ext/facter/cpp-hocon/lib/src/values/config_object.cc +97 -0
  132. data/ext/facter/cpp-hocon/lib/src/values/config_reference.cc +85 -0
  133. data/ext/facter/cpp-hocon/lib/src/values/config_string.cc +47 -0
  134. data/ext/facter/cpp-hocon/lib/src/values/config_value.cc +289 -0
  135. data/ext/facter/cpp-hocon/lib/src/values/simple_config_list.cc +219 -0
  136. data/ext/facter/cpp-hocon/lib/src/values/simple_config_object.cc +515 -0
  137. data/ext/facter/cpp-hocon/lib/tests/CMakeLists.txt +42 -0
  138. data/ext/facter/cpp-hocon/lib/tests/concatenation_test.cc +401 -0
  139. data/ext/facter/cpp-hocon/lib/tests/conf_parser_test.cc +715 -0
  140. data/ext/facter/cpp-hocon/lib/tests/config_document_parser_test.cc +208 -0
  141. data/ext/facter/cpp-hocon/lib/tests/config_document_tests.cc +110 -0
  142. data/ext/facter/cpp-hocon/lib/tests/config_node_test.cc +338 -0
  143. data/ext/facter/cpp-hocon/lib/tests/config_substitution_test.cc +897 -0
  144. data/ext/facter/cpp-hocon/lib/tests/config_test.cc +151 -0
  145. data/ext/facter/cpp-hocon/lib/tests/config_value_factory_test.cc +60 -0
  146. data/ext/facter/cpp-hocon/lib/tests/config_value_test.cc +111 -0
  147. data/ext/facter/cpp-hocon/lib/tests/fixtures.hpp.in +3 -0
  148. data/ext/facter/cpp-hocon/lib/tests/fixtures/test01.conf +91 -0
  149. data/ext/facter/cpp-hocon/lib/tests/fixtures/test01.json +4 -0
  150. data/ext/facter/cpp-hocon/lib/tests/main.cc +8 -0
  151. data/ext/facter/cpp-hocon/lib/tests/path_test.cc +129 -0
  152. data/ext/facter/cpp-hocon/lib/tests/program_options.cc +63 -0
  153. data/ext/facter/cpp-hocon/lib/tests/test.conf +1 -0
  154. data/ext/facter/cpp-hocon/lib/tests/test_utils.cc +452 -0
  155. data/ext/facter/cpp-hocon/lib/tests/test_utils.hpp +139 -0
  156. data/ext/facter/cpp-hocon/lib/tests/token_test.cc +108 -0
  157. data/ext/facter/cpp-hocon/lib/tests/tokenizer_test.cc +694 -0
  158. data/ext/facter/cpp-hocon/lib/version.h.in +28 -0
  159. data/ext/facter/cpp-hocon/locales/CMakeLists.txt +4 -0
  160. data/ext/facter/cpp-hocon/locales/cpp-hocon.pot +767 -0
  161. data/ext/facter/extconf.rb +22 -0
  162. data/ext/facter/facter/CMakeLists.txt +183 -0
  163. data/ext/facter/facter/CONTRIBUTING.md +99 -0
  164. data/ext/facter/facter/Extensibility.md +133 -0
  165. data/ext/facter/facter/LICENSE +17 -0
  166. data/ext/facter/facter/MAINTAINERS +28 -0
  167. data/ext/facter/facter/README.md +295 -0
  168. data/ext/facter/facter/Rakefile +42 -0
  169. data/ext/facter/facter/acceptance/Gemfile +21 -0
  170. data/ext/facter/facter/acceptance/Rakefile +342 -0
  171. data/ext/facter/facter/acceptance/bin/ci-bootstrap-from-artifacts.sh +55 -0
  172. data/ext/facter/facter/acceptance/config/aio/options.rb +9 -0
  173. data/ext/facter/facter/acceptance/config/git/options.rb +7 -0
  174. data/ext/facter/facter/acceptance/config/nodes/aix-53-power.yaml +7 -0
  175. data/ext/facter/facter/acceptance/config/nodes/aix-61-power.yaml +7 -0
  176. data/ext/facter/facter/acceptance/config/nodes/aix-71-power.yaml +7 -0
  177. data/ext/facter/facter/acceptance/config/nodes/huaweios-6-powerpc.yaml +7 -0
  178. data/ext/facter/facter/acceptance/config/nodes/solaris-10-sparc.yaml +9 -0
  179. data/ext/facter/facter/acceptance/config/nodes/solaris-11-sparc.yaml +9 -0
  180. data/ext/facter/facter/acceptance/lib/facter/acceptance/base_fact_utils.rb +563 -0
  181. data/ext/facter/facter/acceptance/lib/facter/acceptance/user_fact_utils.rb +132 -0
  182. data/ext/facter/facter/acceptance/lib/helper.rb +1 -0
  183. data/ext/facter/facter/acceptance/lib/puppet/acceptance/common_utils.rb +10 -0
  184. data/ext/facter/facter/acceptance/lib/puppet/acceptance/git_utils.rb +19 -0
  185. data/ext/facter/facter/acceptance/lib/puppet/acceptance/install_utils.rb +58 -0
  186. data/ext/facter/facter/acceptance/setup/aio/pre-suite/010_Install.rb +22 -0
  187. data/ext/facter/facter/acceptance/setup/aio/pre-suite/021_InstallAristaModule.rb +12 -0
  188. data/ext/facter/facter/acceptance/setup/aio/pre-suite/022_Remove_LD_PRELOAD.rb +11 -0
  189. data/ext/facter/facter/acceptance/setup/common/00_EnvSetup.rb +64 -0
  190. data/ext/facter/facter/acceptance/setup/common/pre-suite/000-delete-puppet-when-none.rb +11 -0
  191. data/ext/facter/facter/acceptance/setup/git/pre-suite/01_TestSetup.rb +31 -0
  192. data/ext/facter/facter/acceptance/tests/custom_facts/custom_fact_with_10001_weight_overrides_external_fact.rb +30 -0
  193. data/ext/facter/facter/acceptance/tests/custom_facts/having_multiple_facts_in_one_file.rb +40 -0
  194. data/ext/facter/facter/acceptance/tests/custom_facts/using_win32ole_should_not_hang.rb +33 -0
  195. data/ext/facter/facter/acceptance/tests/external_facts/env_var_overrides_external_fact.rb +46 -0
  196. data/ext/facter/facter/acceptance/tests/external_facts/external_dir_overrides_default_external_fact.rb +34 -0
  197. data/ext/facter/facter/acceptance/tests/external_facts/external_fact_overrides_custom_fact.rb +29 -0
  198. data/ext/facter/facter/acceptance/tests/external_facts/external_fact_overrides_custom_fact_with_10000_weight_or_less.rb +30 -0
  199. data/ext/facter/facter/acceptance/tests/external_facts/external_fact_overrides_custom_fact_with_confine.rb +35 -0
  200. data/ext/facter/facter/acceptance/tests/external_facts/external_fact_stderr_messages_output_to_stderr.rb +49 -0
  201. data/ext/facter/facter/acceptance/tests/external_facts/external_facts_only_run_once.rb +43 -0
  202. data/ext/facter/facter/acceptance/tests/external_facts/fact_directory_precedence.rb +109 -0
  203. data/ext/facter/facter/acceptance/tests/external_facts/non_root_users_default_external_fact_directory.rb +142 -0
  204. data/ext/facter/facter/acceptance/tests/external_facts/root_uses_default_external_fact_dir.rb +34 -0
  205. data/ext/facter/facter/acceptance/tests/external_facts/structured_executable_facts.rb +139 -0
  206. data/ext/facter/facter/acceptance/tests/facter_returns_success_on_non_existent_fact.rb +9 -0
  207. data/ext/facter/facter/acceptance/tests/facts/dmi.rb +51 -0
  208. data/ext/facter/facter/acceptance/tests/facts/facterversion.rb +11 -0
  209. data/ext/facter/facter/acceptance/tests/facts/identity.rb +52 -0
  210. data/ext/facter/facter/acceptance/tests/facts/networking_facts.rb +76 -0
  211. data/ext/facter/facter/acceptance/tests/facts/non_root_users_without_errors.rb +32 -0
  212. data/ext/facter/facter/acceptance/tests/facts/operatingsystem_detection_after_clear_on_ubuntu.rb +26 -0
  213. data/ext/facter/facter/acceptance/tests/facts/os_processors_and_kernel.rb +20 -0
  214. data/ext/facter/facter/acceptance/tests/facts/partitions.rb +37 -0
  215. data/ext/facter/facter/acceptance/tests/facts/productname.rb +15 -0
  216. data/ext/facter/facter/acceptance/tests/facts/ruby.rb +59 -0
  217. data/ext/facter/facter/acceptance/tests/facts/validate_file_system_size_bytes.rb +37 -0
  218. data/ext/facter/facter/acceptance/tests/facts/verify_tmpfs_file_system.rb +54 -0
  219. data/ext/facter/facter/acceptance/tests/load_libfacter.rb +66 -0
  220. data/ext/facter/facter/acceptance/tests/no_errors_on_stderr.rb +10 -0
  221. data/ext/facter/facter/acceptance/tests/options/color.rb +16 -0
  222. data/ext/facter/facter/acceptance/tests/options/config.rb +27 -0
  223. data/ext/facter/facter/acceptance/tests/options/config_file/blocklist.rb +35 -0
  224. data/ext/facter/facter/acceptance/tests/options/config_file/blocklist_from_puppet_facts.rb +40 -0
  225. data/ext/facter/facter/acceptance/tests/options/config_file/custom_dir_overridden_by_cli_custom_dir.rb +56 -0
  226. data/ext/facter/facter/acceptance/tests/options/config_file/custom_facts.rb +42 -0
  227. data/ext/facter/facter/acceptance/tests/options/config_file/custom_facts_list.rb +56 -0
  228. data/ext/facter/facter/acceptance/tests/options/config_file/debug.rb +34 -0
  229. data/ext/facter/facter/acceptance/tests/options/config_file/debug_override_config_file.rb +34 -0
  230. data/ext/facter/facter/acceptance/tests/options/config_file/default_file_location.rb +37 -0
  231. data/ext/facter/facter/acceptance/tests/options/config_file/external_dir_conflicts_with_cli_no_external_facts.rb +37 -0
  232. data/ext/facter/facter/acceptance/tests/options/config_file/external_dir_overridden_by_cli_external_dir.rb +40 -0
  233. data/ext/facter/facter/acceptance/tests/options/config_file/external_facts.rb +37 -0
  234. data/ext/facter/facter/acceptance/tests/options/config_file/external_facts_list.rb +43 -0
  235. data/ext/facter/facter/acceptance/tests/options/config_file/load_from_ruby.rb +73 -0
  236. data/ext/facter/facter/acceptance/tests/options/config_file/log_level.rb +35 -0
  237. data/ext/facter/facter/acceptance/tests/options/config_file/no_custom_facts_and_custom_dir.rb +43 -0
  238. data/ext/facter/facter/acceptance/tests/options/config_file/no_custom_facts_and_facterlib.rb +43 -0
  239. data/ext/facter/facter/acceptance/tests/options/config_file/no_custom_facts_and_load_path.rb +49 -0
  240. data/ext/facter/facter/acceptance/tests/options/config_file/no_external_facts.rb +38 -0
  241. data/ext/facter/facter/acceptance/tests/options/config_file/no_external_facts_and_external_dir.rb +34 -0
  242. data/ext/facter/facter/acceptance/tests/options/config_file/no_ruby_disables_custom_facts.rb +52 -0
  243. data/ext/facter/facter/acceptance/tests/options/config_file/no_ruby_disables_ruby_facts.rb +34 -0
  244. data/ext/facter/facter/acceptance/tests/options/config_file/trace.rb +48 -0
  245. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_clear_by_empty_ttls_cache_list.rb +71 -0
  246. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_creates_json_cache_file.rb +48 -0
  247. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_expire_facts_do_not_read_the_old_cached_value.rb +58 -0
  248. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_expire_facts_refresh_the_cached_value.rb +61 -0
  249. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_read_from_the_cached_value.rb +57 -0
  250. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_that_are_corrupt_are_refreshed.rb +53 -0
  251. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_cached_facts_that_are_empty_return_an_empty_value.rb +53 -0
  252. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_puppet_facts_creates_json_for_cached_facts.rb +45 -0
  253. data/ext/facter/facter/acceptance/tests/options/config_file/ttls_puppet_facts_honors_cached_facts.rb +54 -0
  254. data/ext/facter/facter/acceptance/tests/options/config_file/verbose.rb +34 -0
  255. data/ext/facter/facter/acceptance/tests/options/custom_facts.rb +34 -0
  256. data/ext/facter/facter/acceptance/tests/options/custom_facts_facterlib.rb +33 -0
  257. data/ext/facter/facter/acceptance/tests/options/custom_facts_list.rb +48 -0
  258. data/ext/facter/facter/acceptance/tests/options/custom_facts_load_path.rb +42 -0
  259. data/ext/facter/facter/acceptance/tests/options/debug.rb +12 -0
  260. data/ext/facter/facter/acceptance/tests/options/external_facts.rb +28 -0
  261. data/ext/facter/facter/acceptance/tests/options/external_facts_list.rb +35 -0
  262. data/ext/facter/facter/acceptance/tests/options/help.rb +13 -0
  263. data/ext/facter/facter/acceptance/tests/options/json.rb +43 -0
  264. data/ext/facter/facter/acceptance/tests/options/list_block_groups.rb +16 -0
  265. data/ext/facter/facter/acceptance/tests/options/list_cache_groups.rb +16 -0
  266. data/ext/facter/facter/acceptance/tests/options/log_level.rb +13 -0
  267. data/ext/facter/facter/acceptance/tests/options/no_block.rb +34 -0
  268. data/ext/facter/facter/acceptance/tests/options/no_cache_should_not_cache_facts.rb +43 -0
  269. data/ext/facter/facter/acceptance/tests/options/no_cache_should_not_load_cached_facts.rb +58 -0
  270. data/ext/facter/facter/acceptance/tests/options/no_cache_should_not_refresh_cached_facts.rb +63 -0
  271. data/ext/facter/facter/acceptance/tests/options/no_color.rb +16 -0
  272. data/ext/facter/facter/acceptance/tests/options/no_custom_facts.rb +34 -0
  273. data/ext/facter/facter/acceptance/tests/options/no_custom_facts_and_custom_dir.rb +19 -0
  274. data/ext/facter/facter/acceptance/tests/options/no_custom_facts_and_facterlib.rb +34 -0
  275. data/ext/facter/facter/acceptance/tests/options/no_custom_facts_and_load_path.rb +43 -0
  276. data/ext/facter/facter/acceptance/tests/options/no_external_facts.rb +28 -0
  277. data/ext/facter/facter/acceptance/tests/options/no_external_facts_and_external_dir.rb +19 -0
  278. data/ext/facter/facter/acceptance/tests/options/no_ruby.rb +44 -0
  279. data/ext/facter/facter/acceptance/tests/options/puppet_facts.rb +35 -0
  280. data/ext/facter/facter/acceptance/tests/options/show_legacy.rb +18 -0
  281. data/ext/facter/facter/acceptance/tests/options/strict.rb +11 -0
  282. data/ext/facter/facter/acceptance/tests/options/trace.rb +36 -0
  283. data/ext/facter/facter/acceptance/tests/options/verbose.rb +12 -0
  284. data/ext/facter/facter/acceptance/tests/options/version.rb +12 -0
  285. data/ext/facter/facter/acceptance/tests/options/yaml.rb +43 -0
  286. data/ext/facter/facter/acceptance/tests/ticket_1123_facter_with_invalid_locale.rb +22 -0
  287. data/ext/facter/facter/acceptance/tests/ticket_1238_hostname_fqdn.rb +57 -0
  288. data/ext/facter/facter/appveyor.yml +43 -0
  289. data/ext/facter/facter/cmake/FindBLKID.cmake +6 -0
  290. data/ext/facter/facter/cmake/FindCPPHOCON.cmake +6 -0
  291. data/ext/facter/facter/cmake/FindDependency.cmake +54 -0
  292. data/ext/facter/facter/cmake/FindOPENSSL.cmake +10 -0
  293. data/ext/facter/facter/cmake/FindRuby.cmake +286 -0
  294. data/ext/facter/facter/cmake/FindWHEREAMI.cmake +6 -0
  295. data/ext/facter/facter/cmake/FindYAMLCPP.cmake +17 -0
  296. data/ext/facter/facter/contrib/dockerfiles/travis-cpp-builder/Dockerfile +56 -0
  297. data/ext/facter/facter/contrib/dockerfiles/travis-facter-builder/Dockerfile +23 -0
  298. data/ext/facter/facter/contrib/dockerfiles/travis-facter-coverity/Dockerfile +40 -0
  299. data/ext/facter/facter/contrib/dockerfiles/travis-facter-coverity/_coverity-submit.erb +12 -0
  300. data/ext/facter/facter/contrib/dockerfiles/travis-facter-coverity/fix_curl_command.patch +32 -0
  301. data/ext/facter/facter/exe/CMakeLists.txt +39 -0
  302. data/ext/facter/facter/exe/facter.cc +377 -0
  303. data/ext/facter/facter/ext/build_defaults.yaml +16 -0
  304. data/ext/facter/facter/ext/debian/changelog.erb +11 -0
  305. data/ext/facter/facter/ext/debian/compat +1 -0
  306. data/ext/facter/facter/ext/debian/control +14 -0
  307. data/ext/facter/facter/ext/debian/copyright +19 -0
  308. data/ext/facter/facter/ext/debian/docs +2 -0
  309. data/ext/facter/facter/ext/debian/facter.install +4 -0
  310. data/ext/facter/facter/ext/debian/lintian-overrides +0 -0
  311. data/ext/facter/facter/ext/debian/rules +39 -0
  312. data/ext/facter/facter/ext/debian/source/format +1 -0
  313. data/ext/facter/facter/ext/project_data.yaml +30 -0
  314. data/ext/facter/facter/ext/redhat/facter.spec.erb +113 -0
  315. data/ext/facter/facter/ext/windows/facter.bat +8 -0
  316. data/ext/facter/facter/ext/windows/facter_interactive.bat +6 -0
  317. data/ext/facter/facter/ext/windows/run_facter_interactive.bat +9 -0
  318. data/ext/facter/facter/factergo/example/main.go +17 -0
  319. data/ext/facter/facter/factergo/facter.go +42 -0
  320. data/ext/facter/facter/factergo/facter_test.go +25 -0
  321. data/ext/facter/facter/lib/CMakeLists.txt +409 -0
  322. data/ext/facter/facter/lib/Doxyfile +2313 -0
  323. data/ext/facter/facter/lib/Facter.java.in +110 -0
  324. data/ext/facter/facter/lib/Gemfile +11 -0
  325. data/ext/facter/facter/lib/Rakefile +8 -0
  326. data/ext/facter/facter/lib/docs/generate.rb +25 -0
  327. data/ext/facter/facter/lib/docs/namespaces.dox +129 -0
  328. data/ext/facter/facter/lib/docs/template.erb +43 -0
  329. data/ext/facter/facter/lib/facter.rb.in +45 -0
  330. data/ext/facter/facter/lib/gemspec.in +21 -0
  331. data/ext/facter/facter/lib/inc/facter/cwrapper.hpp +18 -0
  332. data/ext/facter/facter/lib/inc/facter/facts/array_value.hpp +125 -0
  333. data/ext/facter/facter/lib/inc/facter/facts/collection.hpp +339 -0
  334. data/ext/facter/facter/lib/inc/facter/facts/external/resolver.hpp +49 -0
  335. data/ext/facter/facter/lib/inc/facter/facts/fact.hpp +669 -0
  336. data/ext/facter/facter/lib/inc/facter/facts/map_value.hpp +127 -0
  337. data/ext/facter/facter/lib/inc/facter/facts/os.hpp +202 -0
  338. data/ext/facter/facter/lib/inc/facter/facts/os_family.hpp +58 -0
  339. data/ext/facter/facter/lib/inc/facter/facts/resolver.hpp +126 -0
  340. data/ext/facter/facter/lib/inc/facter/facts/scalar_value.hpp +152 -0
  341. data/ext/facter/facter/lib/inc/facter/facts/value.hpp +164 -0
  342. data/ext/facter/facter/lib/inc/facter/facts/vm.hpp +157 -0
  343. data/ext/facter/facter/lib/inc/facter/logging/logging.hpp +192 -0
  344. data/ext/facter/facter/lib/inc/facter/ruby/ruby.hpp +62 -0
  345. data/ext/facter/facter/lib/inc/facter/util/config.hpp +84 -0
  346. data/ext/facter/facter/lib/inc/facter/util/string.hpp +72 -0
  347. data/ext/facter/facter/lib/inc/internal/facts/aix/disk_resolver.hpp +25 -0
  348. data/ext/facter/facter/lib/inc/internal/facts/aix/filesystem_resolver.hpp +41 -0
  349. data/ext/facter/facter/lib/inc/internal/facts/aix/kernel_resolver.hpp +25 -0
  350. data/ext/facter/facter/lib/inc/internal/facts/aix/memory_resolver.hpp +25 -0
  351. data/ext/facter/facter/lib/inc/internal/facts/aix/networking_resolver.hpp +49 -0
  352. data/ext/facter/facter/lib/inc/internal/facts/aix/operating_system_resolver.hpp +24 -0
  353. data/ext/facter/facter/lib/inc/internal/facts/aix/processor_resolver.hpp +25 -0
  354. data/ext/facter/facter/lib/inc/internal/facts/aix/serial_number_resolver.hpp +27 -0
  355. data/ext/facter/facter/lib/inc/internal/facts/bsd/filesystem_resolver.hpp +30 -0
  356. data/ext/facter/facter/lib/inc/internal/facts/bsd/networking_resolver.hpp +59 -0
  357. data/ext/facter/facter/lib/inc/internal/facts/bsd/uptime_resolver.hpp +24 -0
  358. data/ext/facter/facter/lib/inc/internal/facts/cache.hpp +71 -0
  359. data/ext/facter/facter/lib/inc/internal/facts/external/execution_resolver.hpp +31 -0
  360. data/ext/facter/facter/lib/inc/internal/facts/external/json_resolver.hpp +31 -0
  361. data/ext/facter/facter/lib/inc/internal/facts/external/text_resolver.hpp +31 -0
  362. data/ext/facter/facter/lib/inc/internal/facts/external/windows/powershell_resolver.hpp +34 -0
  363. data/ext/facter/facter/lib/inc/internal/facts/external/yaml_resolver.hpp +31 -0
  364. data/ext/facter/facter/lib/inc/internal/facts/freebsd/dmi_resolver.hpp +28 -0
  365. data/ext/facter/facter/lib/inc/internal/facts/freebsd/memory_resolver.hpp +25 -0
  366. data/ext/facter/facter/lib/inc/internal/facts/freebsd/networking_resolver.hpp +42 -0
  367. data/ext/facter/facter/lib/inc/internal/facts/freebsd/operating_system_resolver.hpp +24 -0
  368. data/ext/facter/facter/lib/inc/internal/facts/freebsd/processor_resolver.hpp +25 -0
  369. data/ext/facter/facter/lib/inc/internal/facts/freebsd/virtualization_resolver.hpp +27 -0
  370. data/ext/facter/facter/lib/inc/internal/facts/freebsd/zfs_resolver.hpp +24 -0
  371. data/ext/facter/facter/lib/inc/internal/facts/freebsd/zpool_resolver.hpp +24 -0
  372. data/ext/facter/facter/lib/inc/internal/facts/glib/load_average_resolver.hpp +24 -0
  373. data/ext/facter/facter/lib/inc/internal/facts/linux/disk_resolver.hpp +25 -0
  374. data/ext/facter/facter/lib/inc/internal/facts/linux/dmi_resolver.hpp +37 -0
  375. data/ext/facter/facter/lib/inc/internal/facts/linux/filesystem_resolver.hpp +40 -0
  376. data/ext/facter/facter/lib/inc/internal/facts/linux/fips_resolver.hpp +31 -0
  377. data/ext/facter/facter/lib/inc/internal/facts/linux/kernel_resolver.hpp +25 -0
  378. data/ext/facter/facter/lib/inc/internal/facts/linux/memory_resolver.hpp +25 -0
  379. data/ext/facter/facter/lib/inc/internal/facts/linux/networking_resolver.hpp +78 -0
  380. data/ext/facter/facter/lib/inc/internal/facts/linux/operating_system_resolver.hpp +28 -0
  381. data/ext/facter/facter/lib/inc/internal/facts/linux/os_cisco.hpp +114 -0
  382. data/ext/facter/facter/lib/inc/internal/facts/linux/os_coreos.hpp +56 -0
  383. data/ext/facter/facter/lib/inc/internal/facts/linux/os_cumulus.hpp +56 -0
  384. data/ext/facter/facter/lib/inc/internal/facts/linux/os_linux.hpp +72 -0
  385. data/ext/facter/facter/lib/inc/internal/facts/linux/processor_resolver.hpp +60 -0
  386. data/ext/facter/facter/lib/inc/internal/facts/linux/release_file.hpp +124 -0
  387. data/ext/facter/facter/lib/inc/internal/facts/linux/uptime_resolver.hpp +24 -0
  388. data/ext/facter/facter/lib/inc/internal/facts/linux/virtualization_resolver.hpp +50 -0
  389. data/ext/facter/facter/lib/inc/internal/facts/openbsd/dmi_resolver.hpp +28 -0
  390. data/ext/facter/facter/lib/inc/internal/facts/openbsd/memory_resolver.hpp +25 -0
  391. data/ext/facter/facter/lib/inc/internal/facts/openbsd/networking_resolver.hpp +42 -0
  392. data/ext/facter/facter/lib/inc/internal/facts/openbsd/processor_resolver.hpp +25 -0
  393. data/ext/facter/facter/lib/inc/internal/facts/openbsd/virtualization_resolver.hpp +25 -0
  394. data/ext/facter/facter/lib/inc/internal/facts/osx/dmi_resolver.hpp +25 -0
  395. data/ext/facter/facter/lib/inc/internal/facts/osx/memory_resolver.hpp +25 -0
  396. data/ext/facter/facter/lib/inc/internal/facts/osx/networking_resolver.hpp +60 -0
  397. data/ext/facter/facter/lib/inc/internal/facts/osx/operating_system_resolver.hpp +25 -0
  398. data/ext/facter/facter/lib/inc/internal/facts/osx/processor_resolver.hpp +25 -0
  399. data/ext/facter/facter/lib/inc/internal/facts/osx/system_profiler_resolver.hpp +25 -0
  400. data/ext/facter/facter/lib/inc/internal/facts/osx/virtualization_resolver.hpp +25 -0
  401. data/ext/facter/facter/lib/inc/internal/facts/posix/identity_resolver.hpp +25 -0
  402. data/ext/facter/facter/lib/inc/internal/facts/posix/kernel_resolver.hpp +25 -0
  403. data/ext/facter/facter/lib/inc/internal/facts/posix/networking_resolver.hpp +48 -0
  404. data/ext/facter/facter/lib/inc/internal/facts/posix/operating_system_resolver.hpp +25 -0
  405. data/ext/facter/facter/lib/inc/internal/facts/posix/processor_resolver.hpp +25 -0
  406. data/ext/facter/facter/lib/inc/internal/facts/posix/ssh_resolver.hpp +28 -0
  407. data/ext/facter/facter/lib/inc/internal/facts/posix/timezone_resolver.hpp +24 -0
  408. data/ext/facter/facter/lib/inc/internal/facts/posix/uptime_resolver.hpp +32 -0
  409. data/ext/facter/facter/lib/inc/internal/facts/posix/xen_resolver.hpp +24 -0
  410. data/ext/facter/facter/lib/inc/internal/facts/resolvers/augeas_resolver.hpp +35 -0
  411. data/ext/facter/facter/lib/inc/internal/facts/resolvers/disk_resolver.hpp +81 -0
  412. data/ext/facter/facter/lib/inc/internal/facts/resolvers/dmi_resolver.hpp +115 -0
  413. data/ext/facter/facter/lib/inc/internal/facts/resolvers/ec2_resolver.hpp +30 -0
  414. data/ext/facter/facter/lib/inc/internal/facts/resolvers/filesystem_resolver.hpp +166 -0
  415. data/ext/facter/facter/lib/inc/internal/facts/resolvers/fips_resolver.hpp +46 -0
  416. data/ext/facter/facter/lib/inc/internal/facts/resolvers/gce_resolver.hpp +28 -0
  417. data/ext/facter/facter/lib/inc/internal/facts/resolvers/hypervisors_resolver.hpp +69 -0
  418. data/ext/facter/facter/lib/inc/internal/facts/resolvers/identity_resolver.hpp +73 -0
  419. data/ext/facter/facter/lib/inc/internal/facts/resolvers/kernel_resolver.hpp +66 -0
  420. data/ext/facter/facter/lib/inc/internal/facts/resolvers/ldom_resolver.hpp +64 -0
  421. data/ext/facter/facter/lib/inc/internal/facts/resolvers/load_average_resolver.hpp +37 -0
  422. data/ext/facter/facter/lib/inc/internal/facts/resolvers/memory_resolver.hpp +99 -0
  423. data/ext/facter/facter/lib/inc/internal/facts/resolvers/networking_resolver.hpp +155 -0
  424. data/ext/facter/facter/lib/inc/internal/facts/resolvers/operating_system_resolver.hpp +235 -0
  425. data/ext/facter/facter/lib/inc/internal/facts/resolvers/path_resolver.hpp +28 -0
  426. data/ext/facter/facter/lib/inc/internal/facts/resolvers/processor_resolver.hpp +80 -0
  427. data/ext/facter/facter/lib/inc/internal/facts/resolvers/ruby_resolver.hpp +56 -0
  428. data/ext/facter/facter/lib/inc/internal/facts/resolvers/ssh_resolver.hpp +105 -0
  429. data/ext/facter/facter/lib/inc/internal/facts/resolvers/system_profiler_resolver.hpp +127 -0
  430. data/ext/facter/facter/lib/inc/internal/facts/resolvers/timezone_resolver.hpp +36 -0
  431. data/ext/facter/facter/lib/inc/internal/facts/resolvers/uptime_resolver.hpp +36 -0
  432. data/ext/facter/facter/lib/inc/internal/facts/resolvers/virtualization_resolver.hpp +95 -0
  433. data/ext/facter/facter/lib/inc/internal/facts/resolvers/xen_resolver.hpp +55 -0
  434. data/ext/facter/facter/lib/inc/internal/facts/resolvers/zfs_resolver.hpp +59 -0
  435. data/ext/facter/facter/lib/inc/internal/facts/resolvers/zone_resolver.hpp +95 -0
  436. data/ext/facter/facter/lib/inc/internal/facts/resolvers/zpool_resolver.hpp +63 -0
  437. data/ext/facter/facter/lib/inc/internal/facts/solaris/disk_resolver.hpp +25 -0
  438. data/ext/facter/facter/lib/inc/internal/facts/solaris/dmi_resolver.hpp +25 -0
  439. data/ext/facter/facter/lib/inc/internal/facts/solaris/filesystem_resolver.hpp +29 -0
  440. data/ext/facter/facter/lib/inc/internal/facts/solaris/kernel_resolver.hpp +25 -0
  441. data/ext/facter/facter/lib/inc/internal/facts/solaris/ldom_resolver.hpp +25 -0
  442. data/ext/facter/facter/lib/inc/internal/facts/solaris/memory_resolver.hpp +25 -0
  443. data/ext/facter/facter/lib/inc/internal/facts/solaris/networking_resolver.hpp +48 -0
  444. data/ext/facter/facter/lib/inc/internal/facts/solaris/operating_system_resolver.hpp +25 -0
  445. data/ext/facter/facter/lib/inc/internal/facts/solaris/processor_resolver.hpp +25 -0
  446. data/ext/facter/facter/lib/inc/internal/facts/solaris/virtualization_resolver.hpp +25 -0
  447. data/ext/facter/facter/lib/inc/internal/facts/solaris/zfs_resolver.hpp +24 -0
  448. data/ext/facter/facter/lib/inc/internal/facts/solaris/zone_resolver.hpp +25 -0
  449. data/ext/facter/facter/lib/inc/internal/facts/solaris/zpool_resolver.hpp +24 -0
  450. data/ext/facter/facter/lib/inc/internal/facts/windows/dmi_resolver.hpp +38 -0
  451. data/ext/facter/facter/lib/inc/internal/facts/windows/identity_resolver.hpp +25 -0
  452. data/ext/facter/facter/lib/inc/internal/facts/windows/kernel_resolver.hpp +25 -0
  453. data/ext/facter/facter/lib/inc/internal/facts/windows/memory_resolver.hpp +25 -0
  454. data/ext/facter/facter/lib/inc/internal/facts/windows/networking_resolver.hpp +74 -0
  455. data/ext/facter/facter/lib/inc/internal/facts/windows/operating_system_resolver.hpp +36 -0
  456. data/ext/facter/facter/lib/inc/internal/facts/windows/processor_resolver.hpp +36 -0
  457. data/ext/facter/facter/lib/inc/internal/facts/windows/timezone_resolver.hpp +24 -0
  458. data/ext/facter/facter/lib/inc/internal/facts/windows/uptime_resolver.hpp +32 -0
  459. data/ext/facter/facter/lib/inc/internal/facts/windows/virtualization_resolver.hpp +37 -0
  460. data/ext/facter/facter/lib/inc/internal/ruby/aggregate_resolution.hpp +77 -0
  461. data/ext/facter/facter/lib/inc/internal/ruby/chunk.hpp +83 -0
  462. data/ext/facter/facter/lib/inc/internal/ruby/confine.hpp +60 -0
  463. data/ext/facter/facter/lib/inc/internal/ruby/fact.hpp +108 -0
  464. data/ext/facter/facter/lib/inc/internal/ruby/module.hpp +165 -0
  465. data/ext/facter/facter/lib/inc/internal/ruby/resolution.hpp +126 -0
  466. data/ext/facter/facter/lib/inc/internal/ruby/ruby_value.hpp +119 -0
  467. data/ext/facter/facter/lib/inc/internal/ruby/simple_resolution.hpp +56 -0
  468. data/ext/facter/facter/lib/inc/internal/util/agent.hpp +29 -0
  469. data/ext/facter/facter/lib/inc/internal/util/aix/odm.hpp +373 -0
  470. data/ext/facter/facter/lib/inc/internal/util/aix/vmount.hpp +139 -0
  471. data/ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp +33 -0
  472. data/ext/facter/facter/lib/inc/internal/util/posix/scoped_addrinfo.hpp +45 -0
  473. data/ext/facter/facter/lib/inc/internal/util/posix/scoped_bio.hpp +34 -0
  474. data/ext/facter/facter/lib/inc/internal/util/posix/scoped_descriptor.hpp +27 -0
  475. data/ext/facter/facter/lib/inc/internal/util/scoped_file.hpp +36 -0
  476. data/ext/facter/facter/lib/inc/internal/util/solaris/k_stat.hpp +176 -0
  477. data/ext/facter/facter/lib/inc/internal/util/solaris/scoped_kstat.hpp +45 -0
  478. data/ext/facter/facter/lib/inc/internal/util/versions.hpp +34 -0
  479. data/ext/facter/facter/lib/inc/internal/util/windows/wsa.hpp +92 -0
  480. data/ext/facter/facter/lib/inc/internal/util/yaml.hpp +25 -0
  481. data/ext/facter/facter/lib/schema/core_facts.pot +2017 -0
  482. data/ext/facter/facter/lib/schema/facter.yaml +1947 -0
  483. data/ext/facter/facter/lib/schema/translation_tooling.rb +67 -0
  484. data/ext/facter/facter/lib/spec/unit/facter_spec.rb +136 -0
  485. data/ext/facter/facter/lib/spec_helper.rb.in +27 -0
  486. data/ext/facter/facter/lib/src/cwrapper.cc +45 -0
  487. data/ext/facter/facter/lib/src/facts/aix/collection.cc +32 -0
  488. data/ext/facter/facter/lib/src/facts/aix/disk_resolver.cc +66 -0
  489. data/ext/facter/facter/lib/src/facts/aix/filesystem_resolver.cc +132 -0
  490. data/ext/facter/facter/lib/src/facts/aix/kernel_resolver.cc +27 -0
  491. data/ext/facter/facter/lib/src/facts/aix/memory_resolver.cc +48 -0
  492. data/ext/facter/facter/lib/src/facts/aix/networking_resolver.cc +245 -0
  493. data/ext/facter/facter/lib/src/facts/aix/operating_system_resolver.cc +61 -0
  494. data/ext/facter/facter/lib/src/facts/aix/processor_resolver.cc +106 -0
  495. data/ext/facter/facter/lib/src/facts/aix/serial_number_resolver.cc +43 -0
  496. data/ext/facter/facter/lib/src/facts/array_value.cc +111 -0
  497. data/ext/facter/facter/lib/src/facts/bsd/collection.cc +27 -0
  498. data/ext/facter/facter/lib/src/facts/bsd/filesystem_resolver.cc +92 -0
  499. data/ext/facter/facter/lib/src/facts/bsd/networking_resolver.cc +175 -0
  500. data/ext/facter/facter/lib/src/facts/bsd/uptime_resolver.cc +23 -0
  501. data/ext/facter/facter/lib/src/facts/cache.cc +117 -0
  502. data/ext/facter/facter/lib/src/facts/collection.cc +661 -0
  503. data/ext/facter/facter/lib/src/facts/external/execution_resolver.cc +89 -0
  504. data/ext/facter/facter/lib/src/facts/external/json_resolver.cc +219 -0
  505. data/ext/facter/facter/lib/src/facts/external/resolver.cc +12 -0
  506. data/ext/facter/facter/lib/src/facts/external/text_resolver.cc +45 -0
  507. data/ext/facter/facter/lib/src/facts/external/windows/powershell_resolver.cc +117 -0
  508. data/ext/facter/facter/lib/src/facts/external/yaml_resolver.cc +45 -0
  509. data/ext/facter/facter/lib/src/facts/freebsd/collection.cc +41 -0
  510. data/ext/facter/facter/lib/src/facts/freebsd/dmi_resolver.cc +43 -0
  511. data/ext/facter/facter/lib/src/facts/freebsd/memory_resolver.cc +76 -0
  512. data/ext/facter/facter/lib/src/facts/freebsd/networking_resolver.cc +55 -0
  513. data/ext/facter/facter/lib/src/facts/freebsd/operating_system_resolver.cc +17 -0
  514. data/ext/facter/facter/lib/src/facts/freebsd/processor_resolver.cc +63 -0
  515. data/ext/facter/facter/lib/src/facts/freebsd/virtualization_resolver.cc +41 -0
  516. data/ext/facter/facter/lib/src/facts/freebsd/zfs_resolver.cc +12 -0
  517. data/ext/facter/facter/lib/src/facts/freebsd/zpool_resolver.cc +12 -0
  518. data/ext/facter/facter/lib/src/facts/glib/load_average_resolver.cc +22 -0
  519. data/ext/facter/facter/lib/src/facts/linux/collection.cc +44 -0
  520. data/ext/facter/facter/lib/src/facts/linux/disk_resolver.cc +80 -0
  521. data/ext/facter/facter/lib/src/facts/linux/dmi_resolver.cc +208 -0
  522. data/ext/facter/facter/lib/src/facts/linux/filesystem_resolver.cc +282 -0
  523. data/ext/facter/facter/lib/src/facts/linux/fips_resolver.cc +31 -0
  524. data/ext/facter/facter/lib/src/facts/linux/kernel_resolver.cc +20 -0
  525. data/ext/facter/facter/lib/src/facts/linux/memory_resolver.cc +50 -0
  526. data/ext/facter/facter/lib/src/facts/linux/networking_resolver.cc +275 -0
  527. data/ext/facter/facter/lib/src/facts/linux/operating_system_resolver.cc +175 -0
  528. data/ext/facter/facter/lib/src/facts/linux/os_linux.cc +393 -0
  529. data/ext/facter/facter/lib/src/facts/linux/processor_resolver.cc +200 -0
  530. data/ext/facter/facter/lib/src/facts/linux/uptime_resolver.cc +15 -0
  531. data/ext/facter/facter/lib/src/facts/linux/virtualization_resolver.cc +282 -0
  532. data/ext/facter/facter/lib/src/facts/map_value.cc +119 -0
  533. data/ext/facter/facter/lib/src/facts/openbsd/collection.cc +37 -0
  534. data/ext/facter/facter/lib/src/facts/openbsd/dmi_resolver.cc +47 -0
  535. data/ext/facter/facter/lib/src/facts/openbsd/memory_resolver.cc +76 -0
  536. data/ext/facter/facter/lib/src/facts/openbsd/networking_resolver.cc +55 -0
  537. data/ext/facter/facter/lib/src/facts/openbsd/processor_resolver.cc +59 -0
  538. data/ext/facter/facter/lib/src/facts/openbsd/virtualization_resolver.cc +20 -0
  539. data/ext/facter/facter/lib/src/facts/osx/collection.cc +39 -0
  540. data/ext/facter/facter/lib/src/facts/osx/dmi_resolver.cc +32 -0
  541. data/ext/facter/facter/lib/src/facts/osx/memory_resolver.cc +60 -0
  542. data/ext/facter/facter/lib/src/facts/osx/networking_resolver.cc +71 -0
  543. data/ext/facter/facter/lib/src/facts/osx/operating_system_resolver.cc +49 -0
  544. data/ext/facter/facter/lib/src/facts/osx/processor_resolver.cc +55 -0
  545. data/ext/facter/facter/lib/src/facts/osx/system_profiler_resolver.cc +66 -0
  546. data/ext/facter/facter/lib/src/facts/osx/virtualization_resolver.cc +46 -0
  547. data/ext/facter/facter/lib/src/facts/posix/cache.cc +9 -0
  548. data/ext/facter/facter/lib/src/facts/posix/collection.cc +48 -0
  549. data/ext/facter/facter/lib/src/facts/posix/identity_resolver.cc +79 -0
  550. data/ext/facter/facter/lib/src/facts/posix/kernel_resolver.cc +25 -0
  551. data/ext/facter/facter/lib/src/facts/posix/networking_resolver.cc +136 -0
  552. data/ext/facter/facter/lib/src/facts/posix/operatingsystem_resolver.cc +29 -0
  553. data/ext/facter/facter/lib/src/facts/posix/processor_resolver.cc +22 -0
  554. data/ext/facter/facter/lib/src/facts/posix/ssh_resolver.cc +116 -0
  555. data/ext/facter/facter/lib/src/facts/posix/timezone_resolver.cc +26 -0
  556. data/ext/facter/facter/lib/src/facts/posix/uptime_resolver.cc +53 -0
  557. data/ext/facter/facter/lib/src/facts/posix/xen_resolver.cc +43 -0
  558. data/ext/facter/facter/lib/src/facts/resolver.cc +105 -0
  559. data/ext/facter/facter/lib/src/facts/resolvers/augeas_resolver.cc +56 -0
  560. data/ext/facter/facter/lib/src/facts/resolvers/disk_resolver.cc +69 -0
  561. data/ext/facter/facter/lib/src/facts/resolvers/dmi_resolver.cc +160 -0
  562. data/ext/facter/facter/lib/src/facts/resolvers/ec2_resolver.cc +174 -0
  563. data/ext/facter/facter/lib/src/facts/resolvers/filesystem_resolver.cc +118 -0
  564. data/ext/facter/facter/lib/src/facts/resolvers/fips_resolver.cc +23 -0
  565. data/ext/facter/facter/lib/src/facts/resolvers/gce_resolver.cc +276 -0
  566. data/ext/facter/facter/lib/src/facts/resolvers/hypervisors_resolver.cc +76 -0
  567. data/ext/facter/facter/lib/src/facts/resolvers/identity_resolver.cc +50 -0
  568. data/ext/facter/facter/lib/src/facts/resolvers/kernel_resolver.cc +62 -0
  569. data/ext/facter/facter/lib/src/facts/resolvers/ldom_resolver.cc +60 -0
  570. data/ext/facter/facter/lib/src/facts/resolvers/load_average_resolver.cc +36 -0
  571. data/ext/facter/facter/lib/src/facts/resolvers/memory_resolver.cc +88 -0
  572. data/ext/facter/facter/lib/src/facts/resolvers/networking_resolver.cc +280 -0
  573. data/ext/facter/facter/lib/src/facts/resolvers/operating_system_resolver.cc +276 -0
  574. data/ext/facter/facter/lib/src/facts/resolvers/path_resolver.cc +25 -0
  575. data/ext/facter/facter/lib/src/facts/resolvers/processor_resolver.cc +70 -0
  576. data/ext/facter/facter/lib/src/facts/resolvers/ruby_resolver.cc +109 -0
  577. data/ext/facter/facter/lib/src/facts/resolvers/ssh_resolver.cc +77 -0
  578. data/ext/facter/facter/lib/src/facts/resolvers/system_profiler_resolver.cc +137 -0
  579. data/ext/facter/facter/lib/src/facts/resolvers/timezone_resolver.cc +27 -0
  580. data/ext/facter/facter/lib/src/facts/resolvers/uptime_resolver.cc +63 -0
  581. data/ext/facter/facter/lib/src/facts/resolvers/virtualization_resolver.cc +119 -0
  582. data/ext/facter/facter/lib/src/facts/resolvers/xen_resolver.cc +80 -0
  583. data/ext/facter/facter/lib/src/facts/resolvers/zfs_resolver.cc +63 -0
  584. data/ext/facter/facter/lib/src/facts/resolvers/zone_resolver.cc +91 -0
  585. data/ext/facter/facter/lib/src/facts/resolvers/zpool_resolver.cc +93 -0
  586. data/ext/facter/facter/lib/src/facts/scalar_value.cc +73 -0
  587. data/ext/facter/facter/lib/src/facts/solaris/collection.cc +51 -0
  588. data/ext/facter/facter/lib/src/facts/solaris/disk_resolver.cc +35 -0
  589. data/ext/facter/facter/lib/src/facts/solaris/dmi_resolver.cc +86 -0
  590. data/ext/facter/facter/lib/src/facts/solaris/filesystem_resolver.cc +92 -0
  591. data/ext/facter/facter/lib/src/facts/solaris/kernel_resolver.cc +24 -0
  592. data/ext/facter/facter/lib/src/facts/solaris/ldom_resolver.cc +87 -0
  593. data/ext/facter/facter/lib/src/facts/solaris/memory_resolver.cc +91 -0
  594. data/ext/facter/facter/lib/src/facts/solaris/networking_resolver.cc +183 -0
  595. data/ext/facter/facter/lib/src/facts/solaris/operating_system_resolver.cc +83 -0
  596. data/ext/facter/facter/lib/src/facts/solaris/processor_resolver.cc +105 -0
  597. data/ext/facter/facter/lib/src/facts/solaris/virtualization_resolver.cc +38 -0
  598. data/ext/facter/facter/lib/src/facts/solaris/zfs_resolver.cc +12 -0
  599. data/ext/facter/facter/lib/src/facts/solaris/zone_resolver.cc +33 -0
  600. data/ext/facter/facter/lib/src/facts/solaris/zpool_resolver.cc +12 -0
  601. data/ext/facter/facter/lib/src/facts/windows/cache.cc +11 -0
  602. data/ext/facter/facter/lib/src/facts/windows/collection.cc +91 -0
  603. data/ext/facter/facter/lib/src/facts/windows/dmi_resolver.cc +38 -0
  604. data/ext/facter/facter/lib/src/facts/windows/identity_resolver.cc +46 -0
  605. data/ext/facter/facter/lib/src/facts/windows/kernel_resolver.cc +78 -0
  606. data/ext/facter/facter/lib/src/facts/windows/memory_resolver.cc +25 -0
  607. data/ext/facter/facter/lib/src/facts/windows/networking_resolver.cc +227 -0
  608. data/ext/facter/facter/lib/src/facts/windows/operating_system_resolver.cc +125 -0
  609. data/ext/facter/facter/lib/src/facts/windows/processor_resolver.cc +99 -0
  610. data/ext/facter/facter/lib/src/facts/windows/timezone_resolver.cc +28 -0
  611. data/ext/facter/facter/lib/src/facts/windows/uptime_resolver.cc +26 -0
  612. data/ext/facter/facter/lib/src/facts/windows/virtualization_resolver.cc +63 -0
  613. data/ext/facter/facter/lib/src/java/facter.cc +185 -0
  614. data/ext/facter/facter/lib/src/logging/logging.cc +151 -0
  615. data/ext/facter/facter/lib/src/ruby/aggregate_resolution.cc +249 -0
  616. data/ext/facter/facter/lib/src/ruby/chunk.cc +136 -0
  617. data/ext/facter/facter/lib/src/ruby/confine.cc +84 -0
  618. data/ext/facter/facter/lib/src/ruby/fact.cc +382 -0
  619. data/ext/facter/facter/lib/src/ruby/module.cc +1130 -0
  620. data/ext/facter/facter/lib/src/ruby/resolution.cc +230 -0
  621. data/ext/facter/facter/lib/src/ruby/ruby.cc +150 -0
  622. data/ext/facter/facter/lib/src/ruby/ruby_value.cc +288 -0
  623. data/ext/facter/facter/lib/src/ruby/simple_resolution.cc +156 -0
  624. data/ext/facter/facter/lib/src/util/bsd/scoped_ifaddrs.cc +29 -0
  625. data/ext/facter/facter/lib/src/util/config/config.cc +83 -0
  626. data/ext/facter/facter/lib/src/util/config/posix/config.cc +12 -0
  627. data/ext/facter/facter/lib/src/util/config/windows/config.cc +14 -0
  628. data/ext/facter/facter/lib/src/util/posix/scoped_addrinfo.cc +41 -0
  629. data/ext/facter/facter/lib/src/util/posix/scoped_bio.cc +29 -0
  630. data/ext/facter/facter/lib/src/util/posix/scoped_descriptor.cc +20 -0
  631. data/ext/facter/facter/lib/src/util/scoped_file.cc +26 -0
  632. data/ext/facter/facter/lib/src/util/solaris/k_stat.cc +165 -0
  633. data/ext/facter/facter/lib/src/util/solaris/scoped_kstat.cc +31 -0
  634. data/ext/facter/facter/lib/src/util/string.cc +170 -0
  635. data/ext/facter/facter/lib/src/util/windows/wsa.cc +69 -0
  636. data/ext/facter/facter/lib/src/util/yaml.cc +72 -0
  637. data/ext/facter/facter/lib/tasks/spec.rake +26 -0
  638. data/ext/facter/facter/lib/tests/CMakeLists.txt +172 -0
  639. data/ext/facter/facter/lib/tests/collection_fixture.cc +15 -0
  640. data/ext/facter/facter/lib/tests/collection_fixture.hpp +19 -0
  641. data/ext/facter/facter/lib/tests/cwrapper.cc +22 -0
  642. data/ext/facter/facter/lib/tests/facts/array_value.cc +140 -0
  643. data/ext/facter/facter/lib/tests/facts/boolean_value.cc +67 -0
  644. data/ext/facter/facter/lib/tests/facts/cache.cc +100 -0
  645. data/ext/facter/facter/lib/tests/facts/collection.cc +576 -0
  646. data/ext/facter/facter/lib/tests/facts/double_value.cc +40 -0
  647. data/ext/facter/facter/lib/tests/facts/external/json_resolver.cc +62 -0
  648. data/ext/facter/facter/lib/tests/facts/external/posix/execution_resolver.cc +69 -0
  649. data/ext/facter/facter/lib/tests/facts/external/text_resolver.cc +46 -0
  650. data/ext/facter/facter/lib/tests/facts/external/windows/execution_resolver.cc +69 -0
  651. data/ext/facter/facter/lib/tests/facts/external/windows/powershell_resolver.cc +122 -0
  652. data/ext/facter/facter/lib/tests/facts/external/yaml_resolver.cc +70 -0
  653. data/ext/facter/facter/lib/tests/facts/integer_value.cc +69 -0
  654. data/ext/facter/facter/lib/tests/facts/linux/dmi_resolver.cc +116 -0
  655. data/ext/facter/facter/lib/tests/facts/linux/filesystem_resolver.cc +13 -0
  656. data/ext/facter/facter/lib/tests/facts/linux/processor_fixture.cc +259 -0
  657. data/ext/facter/facter/lib/tests/facts/linux/processor_fixture.hpp +77 -0
  658. data/ext/facter/facter/lib/tests/facts/linux/processor_resolver.cc +312 -0
  659. data/ext/facter/facter/lib/tests/facts/linux/virtualization_resolver.cc +48 -0
  660. data/ext/facter/facter/lib/tests/facts/map_value.cc +116 -0
  661. data/ext/facter/facter/lib/tests/facts/posix/collection.cc +39 -0
  662. data/ext/facter/facter/lib/tests/facts/posix/uptime_resolver.cc +52 -0
  663. data/ext/facter/facter/lib/tests/facts/resolvers/augeas_resolver.cc +58 -0
  664. data/ext/facter/facter/lib/tests/facts/resolvers/disk_resolver.cc +114 -0
  665. data/ext/facter/facter/lib/tests/facts/resolvers/dmi_resolver.cc +152 -0
  666. data/ext/facter/facter/lib/tests/facts/resolvers/filesystem_resolver.cc +206 -0
  667. data/ext/facter/facter/lib/tests/facts/resolvers/identity_resolver.cc +83 -0
  668. data/ext/facter/facter/lib/tests/facts/resolvers/kernel_resolver.cc +61 -0
  669. data/ext/facter/facter/lib/tests/facts/resolvers/ldom_resolver.cc +86 -0
  670. data/ext/facter/facter/lib/tests/facts/resolvers/memory_resolver.cc +135 -0
  671. data/ext/facter/facter/lib/tests/facts/resolvers/networking_resolver.cc +507 -0
  672. data/ext/facter/facter/lib/tests/facts/resolvers/operating_system_resolver.cc +247 -0
  673. data/ext/facter/facter/lib/tests/facts/resolvers/processor_resolver.cc +157 -0
  674. data/ext/facter/facter/lib/tests/facts/resolvers/ruby_resolver.cc +74 -0
  675. data/ext/facter/facter/lib/tests/facts/resolvers/ssh_resolver.cc +103 -0
  676. data/ext/facter/facter/lib/tests/facts/resolvers/system_profiler_resolver.cc +135 -0
  677. data/ext/facter/facter/lib/tests/facts/resolvers/timezone_resolver.cc +49 -0
  678. data/ext/facter/facter/lib/tests/facts/resolvers/uptime_resolver.cc +151 -0
  679. data/ext/facter/facter/lib/tests/facts/resolvers/virtualization_resolver.cc +175 -0
  680. data/ext/facter/facter/lib/tests/facts/resolvers/xen_resolver.cc +100 -0
  681. data/ext/facter/facter/lib/tests/facts/resolvers/zfs_resolver.cc +65 -0
  682. data/ext/facter/facter/lib/tests/facts/resolvers/zone_resolver.cc +122 -0
  683. data/ext/facter/facter/lib/tests/facts/resolvers/zpool_resolver.cc +69 -0
  684. data/ext/facter/facter/lib/tests/facts/schema.cc +796 -0
  685. data/ext/facter/facter/lib/tests/facts/string_value.cc +270 -0
  686. data/ext/facter/facter/lib/tests/facts/windows/collection.cc +60 -0
  687. data/ext/facter/facter/lib/tests/facts/windows/networking_resolver.cc +217 -0
  688. data/ext/facter/facter/lib/tests/fixtures.cc +62 -0
  689. data/ext/facter/facter/lib/tests/fixtures.hpp.in +27 -0
  690. data/ext/facter/facter/lib/tests/fixtures/execution/with space/command_with_space.bat +2 -0
  691. data/ext/facter/facter/lib/tests/fixtures/facts/external/json/facts.json +12 -0
  692. data/ext/facter/facter/lib/tests/fixtures/facts/external/json/invalid.json +1 -0
  693. data/ext/facter/facter/lib/tests/fixtures/facts/external/ordering/bar/foo.yaml +1 -0
  694. data/ext/facter/facter/lib/tests/fixtures/facts/external/ordering/foo/foo.yaml +1 -0
  695. data/ext/facter/facter/lib/tests/fixtures/facts/external/posix/execution/error_message +4 -0
  696. data/ext/facter/facter/lib/tests/fixtures/facts/external/posix/execution/facts +5 -0
  697. data/ext/facter/facter/lib/tests/fixtures/facts/external/posix/execution/failed +3 -0
  698. data/ext/facter/facter/lib/tests/fixtures/facts/external/posix/execution/not_executable +1 -0
  699. data/ext/facter/facter/lib/tests/fixtures/facts/external/text/facts.txt +4 -0
  700. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/execution/error_message.bat +4 -0
  701. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/execution/facts.bat +4 -0
  702. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/execution/failed.cmd +2 -0
  703. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/execution/not_executable +1 -0
  704. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/execution/ruby_script.rb +1 -0
  705. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/error_message.ps1 +3 -0
  706. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/facts.ps1 +4 -0
  707. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/failed.ps1 +2 -0
  708. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/json.ps1 +21 -0
  709. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/not_executable +1 -0
  710. data/ext/facter/facter/lib/tests/fixtures/facts/external/windows/powershell/yaml.ps1 +18 -0
  711. data/ext/facter/facter/lib/tests/fixtures/facts/external/yaml/facts.yaml +15 -0
  712. data/ext/facter/facter/lib/tests/fixtures/facts/external/yaml/invalid.yaml +1 -0
  713. data/ext/facter/facter/lib/tests/fixtures/facts/external/z/303/266/facts.rb +3 -0
  714. data/ext/facter/facter/lib/tests/fixtures/facts/external/z/303/266/facts.txt +1 -0
  715. data/ext/facter/facter/lib/tests/fixtures/facts/linux/cloud/azure +3 -0
  716. data/ext/facter/facter/lib/tests/fixtures/facts/linux/cloud/azure-unknown +3 -0
  717. data/ext/facter/facter/lib/tests/fixtures/facts/linux/cloud/not-azure +0 -0
  718. data/ext/facter/facter/lib/tests/fixtures/facts/linux/dmidecode/full.txt +83 -0
  719. data/ext/facter/facter/lib/tests/fixtures/facts/linux/dmidecode/full_alternative.txt +83 -0
  720. data/ext/facter/facter/lib/tests/fixtures/facts/linux/dmidecode/none.txt +2 -0
  721. data/ext/facter/facter/lib/tests/fixtures/ruby/100_resolutions.rb +7 -0
  722. data/ext/facter/facter/lib/tests/fixtures/ruby/101_resolutions.rb +7 -0
  723. data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate.rb +9 -0
  724. data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_invalid_require.rb +9 -0
  725. data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_with_block.rb +30 -0
  726. data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_with_cycle.rb +9 -0
  727. data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_with_invalid_merge.rb +13 -0
  728. data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_with_merge.rb +23 -0
  729. data/ext/facter/facter/lib/tests/fixtures/ruby/aggregate_with_require.rb +16 -0
  730. data/ext/facter/facter/lib/tests/fixtures/ruby/array_confine.rb +6 -0
  731. data/ext/facter/facter/lib/tests/fixtures/ruby/array_fact.rb +5 -0
  732. data/ext/facter/facter/lib/tests/fixtures/ruby/bad_command.rb +19 -0
  733. data/ext/facter/facter/lib/tests/fixtures/ruby/bad_syntax.rb +2 -0
  734. data/ext/facter/facter/lib/tests/fixtures/ruby/bignum_fact_value.rb +5 -0
  735. data/ext/facter/facter/lib/tests/fixtures/ruby/block_confine.rb +9 -0
  736. data/ext/facter/facter/lib/tests/fixtures/ruby/block_false_confine.rb +9 -0
  737. data/ext/facter/facter/lib/tests/fixtures/ruby/block_nil_confine.rb +9 -0
  738. data/ext/facter/facter/lib/tests/fixtures/ruby/block_true_confine.rb +9 -0
  739. data/ext/facter/facter/lib/tests/fixtures/ruby/boolean_false_confine.rb +6 -0
  740. data/ext/facter/facter/lib/tests/fixtures/ruby/boolean_false_fact.rb +5 -0
  741. data/ext/facter/facter/lib/tests/fixtures/ruby/boolean_true_confine.rb +6 -0
  742. data/ext/facter/facter/lib/tests/fixtures/ruby/boolean_true_fact.rb +5 -0
  743. data/ext/facter/facter/lib/tests/fixtures/ruby/command_with_space.rb +5 -0
  744. data/ext/facter/facter/lib/tests/fixtures/ruby/confine_missing_fact.rb +22 -0
  745. data/ext/facter/facter/lib/tests/fixtures/ruby/confine_weight.rb +20 -0
  746. data/ext/facter/facter/lib/tests/fixtures/ruby/custom_dir/expect_network_init.rb +15 -0
  747. data/ext/facter/facter/lib/tests/fixtures/ruby/cycle.rb +7 -0
  748. data/ext/facter/facter/lib/tests/fixtures/ruby/debug.rb +7 -0
  749. data/ext/facter/facter/lib/tests/fixtures/ruby/debugging.rb +14 -0
  750. data/ext/facter/facter/lib/tests/fixtures/ruby/debugonce.rb +9 -0
  751. data/ext/facter/facter/lib/tests/fixtures/ruby/define_aggregate_fact.rb +13 -0
  752. data/ext/facter/facter/lib/tests/fixtures/ruby/define_fact.rb +9 -0
  753. data/ext/facter/facter/lib/tests/fixtures/ruby/double_fact.rb +5 -0
  754. data/ext/facter/facter/lib/tests/fixtures/ruby/empty_command.rb +3 -0
  755. data/ext/facter/facter/lib/tests/fixtures/ruby/empty_fact.rb +1 -0
  756. data/ext/facter/facter/lib/tests/fixtures/ruby/empty_fact_with_value.rb +1 -0
  757. data/ext/facter/facter/lib/tests/fixtures/ruby/empty_setcode_command.rb +3 -0
  758. data/ext/facter/facter/lib/tests/fixtures/ruby/exec.rb +7 -0
  759. data/ext/facter/facter/lib/tests/fixtures/ruby/execute_on_fail_raise.rb +17 -0
  760. data/ext/facter/facter/lib/tests/fixtures/ruby/execute_on_fail_value.rb +5 -0
  761. data/ext/facter/facter/lib/tests/fixtures/ruby/execute_timeout.rb +1 -0
  762. data/ext/facter/facter/lib/tests/fixtures/ruby/execution_failure.rb +5 -0
  763. data/ext/facter/facter/lib/tests/fixtures/ruby/existing_aggregate_resolution.rb +5 -0
  764. data/ext/facter/facter/lib/tests/fixtures/ruby/existing_simple_resolution.rb +5 -0
  765. data/ext/facter/facter/lib/tests/fixtures/ruby/fact.rb +7 -0
  766. data/ext/facter/facter/lib/tests/fixtures/ruby/facter.rb +7 -0
  767. data/ext/facter/facter/lib/tests/fixtures/ruby/facterversion.rb +17 -0
  768. data/ext/facter/facter/lib/tests/fixtures/ruby/hash_fact.rb +5 -0
  769. data/ext/facter/facter/lib/tests/fixtures/ruby/hash_with_non_string_key.rb +5 -0
  770. data/ext/facter/facter/lib/tests/fixtures/ruby/integer_fact.rb +5 -0
  771. data/ext/facter/facter/lib/tests/fixtures/ruby/log_exception.rb +21 -0
  772. data/ext/facter/facter/lib/tests/fixtures/ruby/lookup.rb +7 -0
  773. data/ext/facter/facter/lib/tests/fixtures/ruby/multi_confine.rb +6 -0
  774. data/ext/facter/facter/lib/tests/fixtures/ruby/named_resolution.rb +13 -0
  775. data/ext/facter/facter/lib/tests/fixtures/ruby/negative_number.rb +5 -0
  776. data/ext/facter/facter/lib/tests/fixtures/ruby/nil_fact.rb +5 -0
  777. data/ext/facter/facter/lib/tests/fixtures/ruby/nonexistent_command.rb +21 -0
  778. data/ext/facter/facter/lib/tests/fixtures/ruby/on_message.rb +16 -0
  779. data/ext/facter/facter/lib/tests/fixtures/ruby/range_confine.rb +6 -0
  780. data/ext/facter/facter/lib/tests/fixtures/ruby/regexp_confine.rb +6 -0
  781. data/ext/facter/facter/lib/tests/fixtures/ruby/ruby.rb +6 -0
  782. data/ext/facter/facter/lib/tests/fixtures/ruby/simple.rb +11 -0
  783. data/ext/facter/facter/lib/tests/fixtures/ruby/simple_command.rb +7 -0
  784. data/ext/facter/facter/lib/tests/fixtures/ruby/simple_confine.rb +6 -0
  785. data/ext/facter/facter/lib/tests/fixtures/ruby/simple_resolution.rb +5 -0
  786. data/ext/facter/facter/lib/tests/fixtures/ruby/single_allocation.rb +7 -0
  787. data/ext/facter/facter/lib/tests/fixtures/ruby/stderr_output.rb +9 -0
  788. data/ext/facter/facter/lib/tests/fixtures/ruby/string_fact.rb +5 -0
  789. data/ext/facter/facter/lib/tests/fixtures/ruby/timeout.rb +10 -0
  790. data/ext/facter/facter/lib/tests/fixtures/ruby/trace.rb +22 -0
  791. data/ext/facter/facter/lib/tests/fixtures/ruby/uni/341/220/201dir/customfacts/342/204/242.rb +6 -0
  792. data/ext/facter/facter/lib/tests/fixtures/ruby/uses_exit_code.rb +7 -0
  793. data/ext/facter/facter/lib/tests/fixtures/ruby/value.rb +6 -0
  794. data/ext/facter/facter/lib/tests/fixtures/ruby/version.rb +2 -0
  795. data/ext/facter/facter/lib/tests/fixtures/ruby/warn.rb +7 -0
  796. data/ext/facter/facter/lib/tests/fixtures/ruby/warnonce.rb +9 -0
  797. data/ext/facter/facter/lib/tests/fixtures/ruby/weight.rb +20 -0
  798. data/ext/facter/facter/lib/tests/fixtures/ruby/weight_option.rb +17 -0
  799. data/ext/facter/facter/lib/tests/fixtures/ruby/which.rb +9 -0
  800. data/ext/facter/facter/lib/tests/fixtures/ruby/windows/ole.rb +7 -0
  801. data/ext/facter/facter/lib/tests/java/facter.cc +69 -0
  802. data/ext/facter/facter/lib/tests/log_capture.cc +29 -0
  803. data/ext/facter/facter/lib/tests/log_capture.hpp +35 -0
  804. data/ext/facter/facter/lib/tests/logging/logging.cc +69 -0
  805. data/ext/facter/facter/lib/tests/main.cc +20 -0
  806. data/ext/facter/facter/lib/tests/mock_server.cc +44 -0
  807. data/ext/facter/facter/lib/tests/mock_server.hpp +25 -0
  808. data/ext/facter/facter/lib/tests/ruby/ruby.cc +634 -0
  809. data/ext/facter/facter/lib/tests/ruby/ruby_dirfacts.cc +35 -0
  810. data/ext/facter/facter/lib/tests/ruby/ruby_helper.cc +41 -0
  811. data/ext/facter/facter/lib/tests/ruby/ruby_helper.hpp +8 -0
  812. data/ext/facter/facter/lib/tests/ruby/windows/ruby.cc +53 -0
  813. data/ext/facter/facter/lib/tests/util/bsd/scoped_ifaddrs.cc +10 -0
  814. data/ext/facter/facter/lib/tests/util/posix/scoped_addrinfo.cc +11 -0
  815. data/ext/facter/facter/lib/tests/util/posix/scoped_bio.cc +12 -0
  816. data/ext/facter/facter/lib/tests/util/posix/scoped_descriptor.cc +22 -0
  817. data/ext/facter/facter/lib/tests/util/string.cc +291 -0
  818. data/ext/facter/facter/lib/version.h.in +28 -0
  819. data/ext/facter/facter/locales/CMakeLists.txt +7 -0
  820. data/ext/facter/facter/locales/FACTER.pot +1508 -0
  821. data/ext/facter/facter/man/man8/facter.8 +205 -0
  822. data/ext/facter/facter/scripts/cpplint.py +4754 -0
  823. data/ext/facter/facter/scripts/travis_target.sh +83 -0
  824. data/ext/facter/facter/tasks/ci.rake +22 -0
  825. data/ext/facter/leatherman/CHANGELOG.md +430 -0
  826. data/ext/facter/leatherman/CMakeLists.txt +143 -0
  827. data/ext/facter/leatherman/CONTRIBUTING.md +98 -0
  828. data/ext/facter/leatherman/LICENSE +17 -0
  829. data/ext/facter/leatherman/LeathermanConfig.cmake.in +57 -0
  830. data/ext/facter/leatherman/LeathermanConfigVersion.cmake.in +11 -0
  831. data/ext/facter/leatherman/MAINTAINERS +28 -0
  832. data/ext/facter/leatherman/README.md +416 -0
  833. data/ext/facter/leatherman/appveyor.yml +47 -0
  834. data/ext/facter/leatherman/catch/CMakeLists.txt +1 -0
  835. data/ext/facter/leatherman/cmake/FindICU.cmake +690 -0
  836. data/ext/facter/leatherman/cmake/GetGitRevisionDescription.cmake +130 -0
  837. data/ext/facter/leatherman/cmake/GetGitRevisionDescription.cmake.in +38 -0
  838. data/ext/facter/leatherman/cmake/cflags.cmake +110 -0
  839. data/ext/facter/leatherman/cmake/generate_translations.cmake +17 -0
  840. data/ext/facter/leatherman/cmake/internal.cmake +241 -0
  841. data/ext/facter/leatherman/cmake/leatherman.cmake.in +369 -0
  842. data/ext/facter/leatherman/cmake/leatherman_config.cmake +80 -0
  843. data/ext/facter/leatherman/cmake/normalize_pot.cmake +17 -0
  844. data/ext/facter/leatherman/cmake/options.cmake +21 -0
  845. data/ext/facter/leatherman/cmake/pod2man.cmake +36 -0
  846. data/ext/facter/leatherman/curl/CMakeLists.txt +42 -0
  847. data/ext/facter/leatherman/curl/inc/leatherman/curl/client.hpp +441 -0
  848. data/ext/facter/leatherman/curl/inc/leatherman/curl/request.hpp +130 -0
  849. data/ext/facter/leatherman/curl/inc/leatherman/curl/response.hpp +80 -0
  850. data/ext/facter/leatherman/curl/src/client.cc +575 -0
  851. data/ext/facter/leatherman/curl/src/request.cc +112 -0
  852. data/ext/facter/leatherman/curl/src/response.cc +62 -0
  853. data/ext/facter/leatherman/curl/tests/CMakeLists.txt +22 -0
  854. data/ext/facter/leatherman/curl/tests/client_test.cc +613 -0
  855. data/ext/facter/leatherman/curl/tests/fixtures.cc +27 -0
  856. data/ext/facter/leatherman/curl/tests/fixtures.hpp +31 -0
  857. data/ext/facter/leatherman/curl/tests/mock_curl.cc +423 -0
  858. data/ext/facter/leatherman/curl/tests/mock_curl.hpp +85 -0
  859. data/ext/facter/leatherman/curl/tests/request_test.cc +85 -0
  860. data/ext/facter/leatherman/curl/tests/response_test.cc +58 -0
  861. data/ext/facter/leatherman/dynamic_library/CMakeLists.txt +43 -0
  862. data/ext/facter/leatherman/dynamic_library/inc/leatherman/dynamic_library/dynamic_library.hpp +122 -0
  863. data/ext/facter/leatherman/dynamic_library/src/dynamic_library.cc +57 -0
  864. data/ext/facter/leatherman/dynamic_library/src/posix/dynamic_library.cc +91 -0
  865. data/ext/facter/leatherman/dynamic_library/src/windows/dynamic_library.cc +128 -0
  866. data/ext/facter/leatherman/dynamic_library/tests/dynamic_library_tests.cc +94 -0
  867. data/ext/facter/leatherman/dynamic_library/tests/fixtures.hpp.in +3 -0
  868. data/ext/facter/leatherman/dynamic_library/tests/test-lib/goodbye.cc +5 -0
  869. data/ext/facter/leatherman/dynamic_library/tests/test-lib/hello.cc +7 -0
  870. data/ext/facter/leatherman/execution/CMakeLists.txt +65 -0
  871. data/ext/facter/leatherman/execution/inc/leatherman/execution/execution.hpp +488 -0
  872. data/ext/facter/leatherman/execution/src/execution.cc +510 -0
  873. data/ext/facter/leatherman/execution/src/posix/execution.cc +574 -0
  874. data/ext/facter/leatherman/execution/src/posix/generic/platform.cc +30 -0
  875. data/ext/facter/leatherman/execution/src/posix/platform.hpp +15 -0
  876. data/ext/facter/leatherman/execution/src/posix/solaris/platform.cc +197 -0
  877. data/ext/facter/leatherman/execution/src/windows/execution.cc +698 -0
  878. data/ext/facter/leatherman/execution/tests/fixtures.hpp.in +2 -0
  879. data/ext/facter/leatherman/execution/tests/fixtures/echo_pid +2 -0
  880. data/ext/facter/leatherman/execution/tests/fixtures/error_message +5 -0
  881. data/ext/facter/leatherman/execution/tests/fixtures/execution/selfkill.sh +3 -0
  882. data/ext/facter/leatherman/execution/tests/fixtures/execution/sleep.sh +3 -0
  883. data/ext/facter/leatherman/execution/tests/fixtures/facts +5 -0
  884. data/ext/facter/leatherman/execution/tests/fixtures/failed +3 -0
  885. data/ext/facter/leatherman/execution/tests/fixtures/ls/crlf.txt +3 -0
  886. data/ext/facter/leatherman/execution/tests/fixtures/ls/file1.txt +1 -0
  887. data/ext/facter/leatherman/execution/tests/fixtures/ls/file2.txt +1 -0
  888. data/ext/facter/leatherman/execution/tests/fixtures/ls/file3.txt +1 -0
  889. data/ext/facter/leatherman/execution/tests/fixtures/ls/file4.txt +7 -0
  890. data/ext/facter/leatherman/execution/tests/fixtures/not_executable +1 -0
  891. data/ext/facter/leatherman/execution/tests/fixtures/windows/error_message.bat +6 -0
  892. data/ext/facter/leatherman/execution/tests/fixtures/windows/facts.bat +4 -0
  893. data/ext/facter/leatherman/execution/tests/fixtures/windows/failed.cmd +2 -0
  894. data/ext/facter/leatherman/execution/tests/fixtures/windows/not_executable +1 -0
  895. data/ext/facter/leatherman/execution/tests/fixtures/windows/ruby_script.rb +1 -0
  896. data/ext/facter/leatherman/execution/tests/log_capture.cc +29 -0
  897. data/ext/facter/leatherman/execution/tests/log_capture.hpp +35 -0
  898. data/ext/facter/leatherman/execution/tests/lth_cat.cc +38 -0
  899. data/ext/facter/leatherman/execution/tests/lth_cat.hpp +9 -0
  900. data/ext/facter/leatherman/execution/tests/posix/execution.cc +728 -0
  901. data/ext/facter/leatherman/execution/tests/posix/solaris/execution.cc +54 -0
  902. data/ext/facter/leatherman/execution/tests/windows/execution.cc +789 -0
  903. data/ext/facter/leatherman/file_util/CMakeLists.txt +18 -0
  904. data/ext/facter/leatherman/file_util/inc/leatherman/file_util/directory.hpp +28 -0
  905. data/ext/facter/leatherman/file_util/inc/leatherman/file_util/file.hpp +95 -0
  906. data/ext/facter/leatherman/file_util/src/directory.cc +51 -0
  907. data/ext/facter/leatherman/file_util/src/file.cc +131 -0
  908. data/ext/facter/leatherman/file_util/tests/directory_utils_test.cc +87 -0
  909. data/ext/facter/leatherman/file_util/tests/file_utils_test.cc +195 -0
  910. data/ext/facter/leatherman/file_util/tests/fixtures.cc +37 -0
  911. data/ext/facter/leatherman/file_util/tests/fixtures.hpp +39 -0
  912. data/ext/facter/leatherman/json_container/CMakeLists.txt +11 -0
  913. data/ext/facter/leatherman/json_container/README.md +108 -0
  914. data/ext/facter/leatherman/json_container/inc/leatherman/json_container/json_container.hpp +443 -0
  915. data/ext/facter/leatherman/json_container/src/json_container.cc +655 -0
  916. data/ext/facter/leatherman/json_container/tests/json_container_test.cc +1129 -0
  917. data/ext/facter/leatherman/locale/CMakeLists.txt +46 -0
  918. data/ext/facter/leatherman/locale/disabled/locale.cc +38 -0
  919. data/ext/facter/leatherman/locale/inc/leatherman/locale/locale.hpp +263 -0
  920. data/ext/facter/leatherman/locale/locales/CMakeLists.txt +6 -0
  921. data/ext/facter/leatherman/locale/locales/fr.po +40 -0
  922. data/ext/facter/leatherman/locale/locales/leatherman_locale.pot +41 -0
  923. data/ext/facter/leatherman/locale/src/locale.cc +95 -0
  924. data/ext/facter/leatherman/locale/tests/format.cc +117 -0
  925. data/ext/facter/leatherman/locale/tests/locale.cc +190 -0
  926. data/ext/facter/leatherman/locales/CMakeLists.txt +7 -0
  927. data/ext/facter/leatherman/locales/leatherman.pot +717 -0
  928. data/ext/facter/leatherman/logging/CMakeLists.txt +43 -0
  929. data/ext/facter/leatherman/logging/inc/leatherman/logging/logging.hpp +264 -0
  930. data/ext/facter/leatherman/logging/locales/CMakeLists.txt +6 -0
  931. data/ext/facter/leatherman/logging/locales/fr.po +72 -0
  932. data/ext/facter/leatherman/logging/locales/leatherman_logging.pot +72 -0
  933. data/ext/facter/leatherman/logging/src/logging.cc +229 -0
  934. data/ext/facter/leatherman/logging/src/posix/logging.cc +39 -0
  935. data/ext/facter/leatherman/logging/src/windows/logging.cc +52 -0
  936. data/ext/facter/leatherman/logging/tests/logging.cc +118 -0
  937. data/ext/facter/leatherman/logging/tests/logging.hpp +88 -0
  938. data/ext/facter/leatherman/logging/tests/logging_i18n.cc +103 -0
  939. data/ext/facter/leatherman/logging/tests/logging_on_message.cc +61 -0
  940. data/ext/facter/leatherman/logging/tests/logging_stream.cc +159 -0
  941. data/ext/facter/leatherman/logging/tests/logging_stream_lines.cc +172 -0
  942. data/ext/facter/leatherman/logging/tests/posix/logging.cc +23 -0
  943. data/ext/facter/leatherman/logging/tests/windows/logging.cc +13 -0
  944. data/ext/facter/leatherman/nowide/CMakeLists.txt +7 -0
  945. data/ext/facter/leatherman/rapidjson/CMakeLists.txt +1 -0
  946. data/ext/facter/leatherman/ruby/CMakeLists.txt +26 -0
  947. data/ext/facter/leatherman/ruby/inc/leatherman/ruby/api.hpp +744 -0
  948. data/ext/facter/leatherman/ruby/src/api.cc +527 -0
  949. data/ext/facter/leatherman/ruby/src/posix/api.cc +14 -0
  950. data/ext/facter/leatherman/ruby/src/windows/api.cc +20 -0
  951. data/ext/facter/leatherman/ruby/tests/api-test.cc +206 -0
  952. data/ext/facter/leatherman/scripts/cpplint.py +6323 -0
  953. data/ext/facter/leatherman/tests/CMakeLists.txt +22 -0
  954. data/ext/facter/leatherman/tests/main.cc +17 -0
  955. data/ext/facter/leatherman/util/CMakeLists.txt +36 -0
  956. data/ext/facter/leatherman/util/inc/leatherman/util/environment.hpp +69 -0
  957. data/ext/facter/leatherman/util/inc/leatherman/util/option_set.hpp +228 -0
  958. data/ext/facter/leatherman/util/inc/leatherman/util/posix/scoped_descriptor.hpp +32 -0
  959. data/ext/facter/leatherman/util/inc/leatherman/util/regex.hpp +80 -0
  960. data/ext/facter/leatherman/util/inc/leatherman/util/scope_exit.hpp +62 -0
  961. data/ext/facter/leatherman/util/inc/leatherman/util/scoped_env.hpp +35 -0
  962. data/ext/facter/leatherman/util/inc/leatherman/util/scoped_resource.hpp +130 -0
  963. data/ext/facter/leatherman/util/inc/leatherman/util/strings.hpp +54 -0
  964. data/ext/facter/leatherman/util/inc/leatherman/util/time.hpp +36 -0
  965. data/ext/facter/leatherman/util/inc/leatherman/util/timer.hpp +43 -0
  966. data/ext/facter/leatherman/util/inc/leatherman/util/uri.hpp +23 -0
  967. data/ext/facter/leatherman/util/inc/leatherman/util/windows/scoped_handle.hpp +32 -0
  968. data/ext/facter/leatherman/util/src/environment.cc +29 -0
  969. data/ext/facter/leatherman/util/src/posix/environment.cc +75 -0
  970. data/ext/facter/leatherman/util/src/posix/scoped_descriptor.cc +23 -0
  971. data/ext/facter/leatherman/util/src/posix/time.cc +9 -0
  972. data/ext/facter/leatherman/util/src/scope_exit.cc +43 -0
  973. data/ext/facter/leatherman/util/src/scoped_env.cc +37 -0
  974. data/ext/facter/leatherman/util/src/strings.cc +41 -0
  975. data/ext/facter/leatherman/util/src/time.cc +49 -0
  976. data/ext/facter/leatherman/util/src/uri.cc +75 -0
  977. data/ext/facter/leatherman/util/src/windows/environment.cc +75 -0
  978. data/ext/facter/leatherman/util/src/windows/scoped_handle.cc +24 -0
  979. data/ext/facter/leatherman/util/src/windows/time.cc +10 -0
  980. data/ext/facter/leatherman/util/tests/environment.cc +90 -0
  981. data/ext/facter/leatherman/util/tests/option_set.cc +234 -0
  982. data/ext/facter/leatherman/util/tests/posix/environment.cc +36 -0
  983. data/ext/facter/leatherman/util/tests/scoped_env.cc +52 -0
  984. data/ext/facter/leatherman/util/tests/strings_test.cc +71 -0
  985. data/ext/facter/leatherman/util/tests/timer.cc +39 -0
  986. data/ext/facter/leatherman/util/tests/uri.cc +104 -0
  987. data/ext/facter/leatherman/util/tests/windows/environment.cc +30 -0
  988. data/ext/facter/leatherman/vendor/Catch-1.10.0.zip +0 -0
  989. data/ext/facter/leatherman/vendor/nowide/build/Jamfile.v2 +26 -0
  990. data/ext/facter/leatherman/vendor/nowide/doc/Doxyfile +1632 -0
  991. data/ext/facter/leatherman/vendor/nowide/doc/LICENSE_1_0.txt +23 -0
  992. data/ext/facter/leatherman/vendor/nowide/doc/gendoc.sh +11 -0
  993. data/ext/facter/leatherman/vendor/nowide/doc/main.txt +354 -0
  994. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/args.hpp +167 -0
  995. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/cenv.hpp +126 -0
  996. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/config.hpp +54 -0
  997. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/convert.hpp +154 -0
  998. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/cstdio.hpp +101 -0
  999. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/cstdlib.hpp +16 -0
  1000. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/filebuf.hpp +415 -0
  1001. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/fstream.hpp +283 -0
  1002. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/integration/filesystem.hpp +28 -0
  1003. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/iostream.hpp +99 -0
  1004. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/stackstring.hpp +154 -0
  1005. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/system.hpp +46 -0
  1006. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/utf8_codecvt.hpp +499 -0
  1007. data/ext/facter/leatherman/vendor/nowide/include/boost/nowide/windows.hpp +39 -0
  1008. data/ext/facter/leatherman/vendor/nowide/index.html +16 -0
  1009. data/ext/facter/leatherman/vendor/nowide/src/iostream.cpp +263 -0
  1010. data/ext/facter/leatherman/vendor/nowide/standalone/CMakeLists.txt +104 -0
  1011. data/ext/facter/leatherman/vendor/nowide/standalone/MinGW.cmake +9 -0
  1012. data/ext/facter/leatherman/vendor/nowide/standalone/config.hpp +37 -0
  1013. data/ext/facter/leatherman/vendor/nowide/standalone/convert +34 -0
  1014. data/ext/facter/leatherman/vendor/nowide/standalone/encoding_errors.hpp +58 -0
  1015. data/ext/facter/leatherman/vendor/nowide/standalone/encoding_utf.hpp +84 -0
  1016. data/ext/facter/leatherman/vendor/nowide/standalone/run_convert_and_build.sh +17 -0
  1017. data/ext/facter/leatherman/vendor/nowide/standalone/scoped_ptr.hpp +93 -0
  1018. data/ext/facter/leatherman/vendor/nowide/standalone/utf.hpp +469 -0
  1019. data/ext/facter/leatherman/vendor/nowide/template.hpp +19 -0
  1020. data/ext/facter/leatherman/vendor/nowide/test/Jamfile.v2 +43 -0
  1021. data/ext/facter/leatherman/vendor/nowide/test/test.hpp +25 -0
  1022. data/ext/facter/leatherman/vendor/nowide/test/test_codecvt.cpp +254 -0
  1023. data/ext/facter/leatherman/vendor/nowide/test/test_convert.cpp +101 -0
  1024. data/ext/facter/leatherman/vendor/nowide/test/test_env.cpp +49 -0
  1025. data/ext/facter/leatherman/vendor/nowide/test/test_fs.cpp +48 -0
  1026. data/ext/facter/leatherman/vendor/nowide/test/test_fstream.cpp +184 -0
  1027. data/ext/facter/leatherman/vendor/nowide/test/test_iostream.cpp +52 -0
  1028. data/ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp +60 -0
  1029. data/ext/facter/leatherman/vendor/nowide/test/test_system.cpp +91 -0
  1030. data/ext/facter/leatherman/vendor/rapidjson-1.0.2.zip +0 -0
  1031. data/ext/facter/leatherman/windows/CMakeLists.txt +27 -0
  1032. data/ext/facter/leatherman/windows/inc/leatherman/windows/file_util.hpp +23 -0
  1033. data/ext/facter/leatherman/windows/inc/leatherman/windows/process.hpp +22 -0
  1034. data/ext/facter/leatherman/windows/inc/leatherman/windows/registry.hpp +56 -0
  1035. data/ext/facter/leatherman/windows/inc/leatherman/windows/system_error.hpp +23 -0
  1036. data/ext/facter/leatherman/windows/inc/leatherman/windows/user.hpp +30 -0
  1037. data/ext/facter/leatherman/windows/inc/leatherman/windows/windows.hpp +10 -0
  1038. data/ext/facter/leatherman/windows/inc/leatherman/windows/wmi.hpp +188 -0
  1039. data/ext/facter/leatherman/windows/src/file_util.cc +28 -0
  1040. data/ext/facter/leatherman/windows/src/process.cc +42 -0
  1041. data/ext/facter/leatherman/windows/src/registry.cc +96 -0
  1042. data/ext/facter/leatherman/windows/src/system_error.cc +33 -0
  1043. data/ext/facter/leatherman/windows/src/user.cc +76 -0
  1044. data/ext/facter/leatherman/windows/src/wmi.cc +208 -0
  1045. data/ext/facter/leatherman/windows/tests/file_utils_test.cc +13 -0
  1046. metadata +1089 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 364ab6cb4cde69d6763c8b9bd822e08d9495ca1f
4
+ data.tar.gz: f22a9521047a3eff0c234ed73b552188a8545987
5
+ SHA512:
6
+ metadata.gz: 82e072ff1bddf3059401551715200ac7d13a574de5df563d35369514efb8e5752eca3ca046baf294eb6a6339f7753e91cc8d8883f250c8ee1877ef5909632018
7
+ data.tar.gz: e9f6ac7d715fd193bd3cfaf6f8e8cd7ce077a96eec506a207484b49d8b16fff724647ed805ac574275ba7dfe6cee6e2e02443878a00ab7bca09fbb8b52bebb25
@@ -0,0 +1,31 @@
1
+ CMAKE=<%= cmake_binary %>
2
+ ROOT=<%= source_root %>
3
+ OPTS=-DCMAKE_INSTALL_PREFIX=../../prefix -DLEATHERMAN_GETTEXT=OFF <%= cmake_opts %>
4
+
5
+ LEATHERMAN=-DLeatherman_DIR=`pwd`/../../prefix/lib/cmake/leatherman
6
+
7
+ all: facter.built
8
+
9
+ leatherman.built:
10
+ <%= mkdir_command %> "build/leatherman"
11
+ cd build/leatherman && \
12
+ ${CMAKE} -DLEATHERMAN_SHARED=OFF ${OPTS} ${ROOT}/leatherman && \
13
+ make install
14
+ <%= touch_command %> leatherman.built
15
+
16
+ hocon.built: leatherman.built
17
+ <%= mkdir_command %> "build/cpp-hocon"
18
+ cd build/cpp-hocon && \
19
+ ${CMAKE} -DBUILD_SHARED_LIBS=OFF ${LEATHERMAN} ${OPTS} ${ROOT}/cpp-hocon && \
20
+ make install
21
+ <%= touch_command %> hocon.built
22
+
23
+ facter.built: hocon.built
24
+ <%= mkdir_command %> "build/facter"
25
+ cd build/facter && \
26
+ ${CMAKE} -DRUBY_LIB_INSTALL=${ROOT}/prefix/lib ${LEATHERMAN} ${OPTS} ${ROOT}/facter && \
27
+ make install
28
+ <%= touch_command %> facter.built
29
+
30
+ install: facter.built
31
+ <%= install_command %>
@@ -0,0 +1,67 @@
1
+ # Defines how cmake should behave, and the minimum version necessary to build.
2
+ cmake_minimum_required(VERSION 3.2.2)
3
+
4
+ # Project Setup - modify to match project naming
5
+ ## Source code for a simple command-line executable for a dynamic library will be generated from the project name.
6
+ ## The command-line and library names will be based off the project name.
7
+ project(cpp-hocon VERSION 0.1.5)
8
+
9
+ string(MAKE_C_IDENTIFIER ${PROJECT_NAME} PROJECT_C_NAME)
10
+ string(TOUPPER ${PROJECT_C_NAME} PROJECT_NAME_UPPER)
11
+ string(TOLOWER ${PROJECT_C_NAME} PROJECT_NAME_LOWER)
12
+
13
+ # Common cmake setup
14
+ if (NOT CMAKE_BUILD_TYPE)
15
+ message(STATUS "Defaulting to a release build.")
16
+ set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
17
+ endif()
18
+
19
+ enable_testing()
20
+
21
+ # Leatherman setup
22
+ set(LEATHERMAN_COMPONENTS locale catch nowide util)
23
+ find_package(Leatherman REQUIRED COMPONENTS ${LEATHERMAN_COMPONENTS})
24
+
25
+ ## Before we find any packages, we want to pull in the common leatherman options, as they can affect commonly-used packages.
26
+ include(options)
27
+ ## Pull in common cflags setting from leatherman. Don't override CMAKE_CXX_FLAGS at the project root to avoid impacting 3rd party code.
28
+ include(cflags)
29
+ set(${PROJECT_NAME_UPPER}_CXX_FLAGS "${LEATHERMAN_CXX_FLAGS}")
30
+ add_definitions(${LEATHERMAN_DEFINITIONS})
31
+
32
+ if(LEATHERMAN_USE_LOCALES)
33
+ add_definitions(-DLEATHERMAN_I18N)
34
+ endif()
35
+
36
+ ## Pull in helper macros for working with leatherman libraries
37
+ include(leatherman)
38
+
39
+ if(LEATHERMAN_USE_LOCALES)
40
+ set(BOOST_COMPONENTS locale)
41
+ else()
42
+ set(BOOST_COMPONENTS regex)
43
+ endif()
44
+
45
+ list(APPEND BOOST_COMPONENTS thread date_time chrono system program_options)
46
+
47
+ # Add other dependencies
48
+ find_package(Boost 1.54 REQUIRED COMPONENTS ${BOOST_COMPONENTS})
49
+
50
+ # pthreads if you require the Boost.Thread component.
51
+ find_package(Threads)
52
+
53
+ # Display a summary of the features
54
+ include(FeatureSummary)
55
+ feature_summary(WHAT ALL)
56
+
57
+ # Add cpplint and cppcheck targets
58
+ file(GLOB_RECURSE ALL_SOURCES lib/src/*.cc lib/inc/*.hpp exe/*.cc)
59
+ add_cpplint_files(${ALL_SOURCES})
60
+ enable_cpplint()
61
+
62
+ add_subdirectory(lib)
63
+ add_subdirectory(locales)
64
+
65
+ add_cppcheck_dirs("${PROJECT_SOURCE_DIR}/lib" "${PROJECT_SOURCE_DIR}/exe")
66
+ enable_cppcheck()
67
+
@@ -0,0 +1,9 @@
1
+ # How to contribute
2
+
3
+ Third-party patches are essential for keeping Puppet Labs open-source projects
4
+ great. We want to keep it as easy as possible to contribute changes that
5
+ allow you to get the most out of our projects. There are a few guidelines
6
+ that we need contributors to follow so that we can have a chance of keeping on
7
+ top of things. For more info, see our canonical guide to contributing:
8
+
9
+ [https://github.com/puppetlabs/puppet/blob/master/CONTRIBUTING.md](https://github.com/puppetlabs/puppet/blob/master/CONTRIBUTING.md)
@@ -0,0 +1,17 @@
1
+ cpp-hocon -- A port of the TypesafeConfig library to C++
2
+
3
+ Copyright (C) 2014 Puppet Labs Inc
4
+
5
+ Puppet Labs can be contacted at: info@puppetlabs.com
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ http://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
@@ -0,0 +1,33 @@
1
+ {
2
+ "version": 1,
3
+ "file_format": "This MAINTAINERS file format is described at http://pup.pt/maintainers",
4
+ "issues": "https://tickets.puppet.com/browse/HC",
5
+ "internal_list": "https://groups.google.com/a/puppet.com/forum/?hl=en#!forum/discuss-hocon-maintainers",
6
+ "people": [
7
+ {
8
+ "github": "MikaelSmith",
9
+ "email": "michael.smith@puppet.com",
10
+ "name": "Michael Smith"
11
+ },
12
+ {
13
+ "github": "branan",
14
+ "email": "branan@puppet.com",
15
+ "name": "Branan Riley"
16
+ },
17
+ {
18
+ "github": "Magisus",
19
+ "email": "maggie@puppet.com",
20
+ "name": "Maggie Dreyer"
21
+ },
22
+ {
23
+ "github": "whopper",
24
+ "email": "whopper@puppet.com",
25
+ "name": "Will Hopper"
26
+ },
27
+ {
28
+ "github": "HAIL9000",
29
+ "email": "hailee@puppet.com",
30
+ "name": "Hailee Kenney"
31
+ }
32
+ ]
33
+ }
@@ -0,0 +1,74 @@
1
+ # C++ HOCON Parser
2
+
3
+ ![Travis CI](https://travis-ci.org/puppetlabs/cpp-hocon.svg)
4
+ ![Appveyor](https://ci.appveyor.com/api/projects/status/github/puppetlabs/cpp-hocon?svg=true)
5
+
6
+
7
+
8
+ This is a port of the TypesafeConfig library to C++.
9
+
10
+ The library provides C++ support for the [HOCON configuration file format](https://github.com/typesafehub/config/blob/master/HOCON.md).
11
+
12
+ ```
13
+ MMMMMMMMMMMMMMMMMMMM
14
+ .====================.
15
+ MMMMMMMMMMMMMMMMMMMMMM
16
+ .MMMMMMMMMMMMMMMMMMMMMM.
17
+ ===.7MMMIN7NMMMMMMMMM7M=MMMM,===
18
+ MMM.7MM: DMMMMM7 :MMM=MMM
19
+ MMM.7MM, DMMMMM? ~MMM=MMM
20
+ MMM.7MMM~++~?MMMMMMM~++~MMMM=MMM
21
+ .MMMMMMMMMMMMMMMMMMMMMM.
22
+ MMMMMMMMMMMMMMMMMMMMMM
23
+ MMMMMMMMMMMMMMMMMMMMMM
24
+ MMM HOCON MMM
25
+ MMMMMMMMMMMMMMMMMMMMMM
26
+ .MMMMMMMMMMMMMMMMMM.
27
+ .MMMMMMMMMMMMMMMMMM.
28
+ .MMMMMMMMMMMMMMMMMMMMMMMM
29
+ . MMMMMMMMMMMMM88MMMMMMMMMM8MM .
30
+ 7=MMMMMMMM++ A CONFIG FILE ++M8MMMMMM7=
31
+ M=MMMMMMMM+ FORMAT DESIGNED +M8MMMMMM7M
32
+ M=MMMMMMMM++ FOR HUMANS ++M8MMMMMM7M
33
+ =MMMMMMMMMMMMMMMMM88MMMMMMMMMM8MMMMMM7
34
+ 7MM.88MMMMMMMMMMM88MMMMMMMMMMO88 MM8
35
+ 7MM MMMMMMMMMMM88MMMMMMMMMM8 MM8
36
+ 7MM MMMMMMMMMMM88MMMMMMMMMM8 MM8
37
+ 7MM MMMDMMMM?MM88MM?MMMMOMM8 MM8
38
+ ```
39
+
40
+
41
+ ## Build Requirements
42
+
43
+ * OSX or Linux
44
+ * GCC >= 4.8 or Clang >= 3.4 (with libc++)
45
+ * CMake >= 3.2.2
46
+ * Boost Libraries >= 1.54
47
+ * [Leatherman](https://github.com/puppetlabs/leatherman)
48
+
49
+
50
+ ## Pre-Build
51
+
52
+ Prepare the cmake release environment:
53
+
54
+ $ mkdir release
55
+ $ cd release
56
+ $ cmake ..
57
+
58
+
59
+ Optionally, also prepare the debug environment:
60
+
61
+ $ mkdir debug
62
+ $ cd debug
63
+ $ cmake -DCMAKE_BUILD_TYPE=Debug ..
64
+
65
+
66
+ ## Building
67
+
68
+ 1. Enter your build environment of choice, i.e. `cd release` or `cd debug`
69
+ 2. `make`
70
+ 3. (optional) install with `make install`
71
+
72
+ ## Testing
73
+
74
+ Run tests with `make test`.
@@ -0,0 +1,18 @@
1
+ source ENV['GEM_SOURCE'] || "https://rubygems.org"
2
+
3
+ def location_for(place, fake_version = nil)
4
+ if place =~ /^(git:[^#]*)#(.*)/
5
+ [fake_version, { :git => $1, :branch => $2, :require => false }].compact
6
+ elsif place =~ /^file:\/\/(.*)/
7
+ ['>= 0', { :path => File.expand_path($1), :require => false }]
8
+ else
9
+ [place, { :require => false }]
10
+ end
11
+ end
12
+
13
+ gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '~> 2.8')
14
+ gem 'rake', "~> 10.1"
15
+
16
+ if File.exists? "#{__FILE__}.local"
17
+ eval(File.read("#{__FILE__}.local"), binding)
18
+ end
@@ -0,0 +1,7 @@
1
+ require 'rake/clean'
2
+
3
+ desc 'Run acceptance tests'
4
+ task :acceptance do
5
+ # TODO: create your real acceptance tests and update this
6
+ system("beaker --tests tests/fake.rb")
7
+ end
@@ -0,0 +1,41 @@
1
+ environment:
2
+ LEATHERMAN_VERSION: 0.9.0
3
+ install:
4
+ - git submodule update --init --recursive
5
+
6
+ - choco install -y mingw-w64 -Version 4.8.3 -source https://www.myget.org/F/puppetlabs
7
+ - choco install -y cmake -Version 3.2.2 -source https://www.myget.org/F/puppetlabs
8
+ - choco install -y gettext -Version 0.19.6 -source https://www.myget.org/F/puppetlabs
9
+ - SET PATH=C:\Ruby21-x64\bin;C:\tools\mingw64\bin;C:\Program Files\gettext-iconv;%PATH%
10
+ - ps: $env:PATH = $env:PATH.Replace("Git\bin", "Git\cmd")
11
+ - ps: $env:PATH = $env:PATH.Replace("Git\usr\bin", "Git\cmd")
12
+
13
+ - ps: wget 'https://s3.amazonaws.com/kylo-pl-bucket/boost_1_58_0-x86_64_mingw-w64_4.8.3_win32_seh.7z' -OutFile "$pwd\boost.7z"
14
+ - ps: 7z.exe x boost.7z -oC:\tools | FIND /V "ing "
15
+
16
+ - ps: wget 'https://s3.amazonaws.com/kylo-pl-bucket/curl-7.42.1-x86_64_mingw-w64_4.8.3_win32_seh.7z' -OutFile "$pwd\curl-7.42.1-x86_64_mingw-w64_4.8.3_win32_seh.7z"
17
+ - ps: 7z.exe x "curl-7.42.1-x86_64_mingw-w64_4.8.3_win32_seh.7z" -oC:\tools | FIND /V "ing "
18
+
19
+ - ps: wget "https://github.com/puppetlabs/leatherman/releases/download/$env:LEATHERMAN_VERSION/leatherman.7z" -OutFile "$pwd\leatherman.7z"
20
+ - ps: 7z.exe x leatherman.7z -oC:\tools | FIND /V "ing "
21
+
22
+ build_script:
23
+ - ps: cmake -G "MinGW Makefiles" -DBOOST_ROOT="C:\tools\boost_1_58_0-x86_64_mingw-w64_4.8.3_win32_seh" -DCMAKE_PREFIX_PATH="C:\tools\leatherman;C:\tools\curl-7.42.1-x86_64_mingw-w64_4.8.3_win32_seh" -DCURL_STATIC=ON -DBOOST_STATIC=ON -Wno-dev -DCMAKE_INSTALL_PREFIX=C:\tools\cpp-hocon .
24
+ - ps: mingw32-make install
25
+ - ps: 7z.exe a -t7z cpp-hocon.7z C:\tools\cpp-hocon\
26
+
27
+ test_script:
28
+ - ps: ctest -V 2>&1 | %{ if ($_ -is [System.Management.Automation.ErrorRecord]) { $_ | c++filt } else { $_ } }
29
+
30
+ artifacts:
31
+ - path: cpp-hocon.7z
32
+ name: cpp-hocon.7z
33
+
34
+ deploy:
35
+ description: Cpp-hocon build from AppVeyor
36
+ provider: GitHub
37
+ auth_token:
38
+ secure: DMyUJSyyWU/cMaE3kZyoGuJNtt8VjHbw6g3n9HPzYk99aU8HlJay5meBgsTjVXfR
39
+ artifact: cpp-hocon.7z
40
+ on:
41
+ appveyor_repo_tag: true
@@ -0,0 +1,94 @@
1
+ include(leatherman)
2
+ get_commit_string(PROJECT_COMMIT)
3
+
4
+ # Generate a file containing the above version numbers.
5
+ configure_file("version.h.in" "${CMAKE_CURRENT_LIST_DIR}/inc/hocon/version.h")
6
+
7
+ # Generate files for Doxygen
8
+ configure_file("Doxyfile.in" "${CMAKE_CURRENT_LIST_DIR}/Doxyfile")
9
+ configure_file("namespaces.dox.in" "${CMAKE_CURRENT_LIST_DIR}/docs/namespaces.dox")
10
+
11
+ # Set C++ compile flags based on project settings.
12
+ set(CMAKE_CXX_FLAGS ${${PROJECT_NAME_UPPER}_CXX_FLAGS})
13
+
14
+ # Set prefix for logging messages.
15
+ leatherman_logging_namespace("puppetlabs.${PROJECT_NAME}")
16
+
17
+ # Setup compiling the library.
18
+ include_directories(inc ${Boost_INCLUDE_DIRS} ${LEATHERMAN_INCLUDE_DIRS})
19
+
20
+ set(PROJECT_SOURCES
21
+ src/values/config_object.cc
22
+ src/values/simple_config_object.cc
23
+ src/nodes/abstract_config_node.cc
24
+ src/nodes/config_node_include.cc
25
+ src/nodes/config_node_simple_value.cc
26
+ src/nodes/config_node_single_token.cc
27
+ src/nodes/config_node_comment.cc
28
+ src/nodes/config_node_path.cc
29
+ src/nodes/config_node_complex_value.cc
30
+ src/nodes/config_node_field.cc
31
+ src/nodes/config_node_object.cc
32
+ src/nodes/config_node_array.cc
33
+ src/nodes/config_node_concatenation.cc
34
+ src/nodes/config_node_root.cc
35
+ src/values/config_value.cc
36
+ src/values/config_boolean.cc
37
+ src/values/config_number.cc
38
+ src/values/config_long.cc
39
+ src/values/config_double.cc
40
+ src/values/config_null.cc
41
+ src/values/config_string.cc
42
+ src/values/config_int.cc
43
+ src/values/config_reference.cc
44
+ src/path.cc
45
+ src/path_builder.cc
46
+ src/path_parser.cc
47
+ src/token.cc
48
+ src/tokens.cc
49
+ src/tokenizer.cc
50
+ src/simple_config_document.cc
51
+ src/simple_config_origin.cc
52
+ src/config_util.cc
53
+ src/config_parse_options.cc
54
+ src/config_render_options.cc
55
+ src/config_document_parser.cc
56
+ src/config_document_factory.cc
57
+ src/config_parser.cc
58
+ src/parseable.cc
59
+ src/simple_include_context.cc
60
+ src/simple_includer.cc
61
+ src/config_resolve_options.cc
62
+ src/config.cc
63
+ src/default_transformer.cc
64
+ src/substitution_expression.cc
65
+ src/values/simple_config_list.cc
66
+ src/values/config_delayed_merge.cc
67
+ src/values/config_delayed_merge_object.cc
68
+ src/resolve_context.cc
69
+ src/resolve_source.cc
70
+ src/values/config_concatenation.cc
71
+ src/config_value_factory.cc)
72
+
73
+
74
+ ## An object target is generated that can be used by both the library and test executable targets.
75
+ ## Without the intermediate target, unexported symbols can't be tested.
76
+ add_library(libprojectsrc OBJECT ${PROJECT_SOURCES})
77
+ set_target_properties(libprojectsrc PROPERTIES POSITION_INDEPENDENT_CODE true)
78
+
79
+ add_library(lib${PROJECT_NAME} $<TARGET_OBJECTS:libprojectsrc>)
80
+ set_target_properties(lib${PROJECT_NAME} PROPERTIES VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
81
+ target_link_libraries(lib${PROJECT_NAME}
82
+ ${LEATHERMAN_LIBRARIES}
83
+ ${Boost_LIBRARIES}
84
+ )
85
+
86
+ # Generate the export header for restricting symbols exported from the library.
87
+ # Restricting symbols has several advantages, noted at https://gcc.gnu.org/wiki/Visibility.
88
+ symbol_exports(lib${PROJECT_NAME} "${CMAKE_CURRENT_LIST_DIR}/inc/hocon/export.h")
89
+
90
+ # This correctly handles DLL installation on Windows.
91
+ leatherman_install(lib${PROJECT_NAME})
92
+ install(DIRECTORY inc/hocon DESTINATION include)
93
+
94
+ add_subdirectory(tests)
@@ -0,0 +1,2312 @@
1
+ # Doxyfile 1.8.7
2
+
3
+ # This file describes the settings to be used by the documentation system
4
+ # doxygen (www.doxygen.org) for a project.
5
+ #
6
+ # All text after a double hash (##) is considered a comment and is placed in
7
+ # front of the TAG it is preceding.
8
+ #
9
+ # All text after a single hash (#) is considered a comment and will be ignored.
10
+ # The format is:
11
+ # TAG = value [value, ...]
12
+ # For lists, items can also be appended using:
13
+ # TAG += value [value, ...]
14
+ # Values that contain spaces should be placed between quotes (\" \").
15
+
16
+ #---------------------------------------------------------------------------
17
+ # Project related configuration options
18
+ #---------------------------------------------------------------------------
19
+
20
+ # This tag specifies the encoding used for all characters in the config file
21
+ # that follow. The default is UTF-8 which is also the encoding used for all text
22
+ # before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
23
+ # built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
24
+ # for the list of possible encodings.
25
+ # The default value is: UTF-8.
26
+
27
+ DOXYFILE_ENCODING = UTF-8
28
+
29
+ # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
30
+ # double-quotes, unless you are using Doxywizard) that should identify the
31
+ # project for which the documentation is generated. This name is used in the
32
+ # title of most generated pages and in a few other places.
33
+ # The default value is: My Project.
34
+
35
+ PROJECT_NAME = "@PROJECT_NAME@"
36
+
37
+ # The PROJECT_NUMBER tag can be used to enter a project or revision number. This
38
+ # could be handy for archiving the generated documentation or if some version
39
+ # control system is used.
40
+
41
+ PROJECT_NUMBER = @PROJECT_VERSION@
42
+
43
+ # Using the PROJECT_BRIEF tag one can provide an optional one line description
44
+ # for a project that appears at the top of each page and should give viewer a
45
+ # quick idea about the purpose of the project. Keep the description short.
46
+
47
+ PROJECT_BRIEF =
48
+
49
+ # With the PROJECT_LOGO tag one can specify an logo or icon that is included in
50
+ # the documentation. The maximum height of the logo should not exceed 55 pixels
51
+ # and the maximum width should not exceed 200 pixels. Doxygen will copy the logo
52
+ # to the output directory.
53
+
54
+ PROJECT_LOGO =
55
+
56
+ # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
57
+ # into which the generated documentation will be written. If a relative path is
58
+ # entered, it will be relative to the location where doxygen was started. If
59
+ # left blank the current directory will be used.
60
+
61
+ OUTPUT_DIRECTORY =
62
+
63
+ # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
64
+ # directories (in 2 levels) under the output directory of each output format and
65
+ # will distribute the generated files over these directories. Enabling this
66
+ # option can be useful when feeding doxygen a huge amount of source files, where
67
+ # putting all generated files in the same directory would otherwise causes
68
+ # performance problems for the file system.
69
+ # The default value is: NO.
70
+
71
+ CREATE_SUBDIRS = NO
72
+
73
+ # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
74
+ # characters to appear in the names of generated files. If set to NO, non-ASCII
75
+ # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
76
+ # U+3044.
77
+ # The default value is: NO.
78
+
79
+ ALLOW_UNICODE_NAMES = NO
80
+
81
+ # The OUTPUT_LANGUAGE tag is used to specify the language in which all
82
+ # documentation generated by doxygen is written. Doxygen will use this
83
+ # information to generate all constant output in the proper language.
84
+ # Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
85
+ # Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
86
+ # Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
87
+ # Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
88
+ # Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
89
+ # Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
90
+ # Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
91
+ # Ukrainian and Vietnamese.
92
+ # The default value is: English.
93
+
94
+ OUTPUT_LANGUAGE = English
95
+
96
+ # If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member
97
+ # descriptions after the members that are listed in the file and class
98
+ # documentation (similar to Javadoc). Set to NO to disable this.
99
+ # The default value is: YES.
100
+
101
+ BRIEF_MEMBER_DESC = YES
102
+
103
+ # If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief
104
+ # description of a member or function before the detailed description
105
+ #
106
+ # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
107
+ # brief descriptions will be completely suppressed.
108
+ # The default value is: YES.
109
+
110
+ REPEAT_BRIEF = YES
111
+
112
+ # This tag implements a quasi-intelligent brief description abbreviator that is
113
+ # used to form the text in various listings. Each string in this list, if found
114
+ # as the leading text of the brief description, will be stripped from the text
115
+ # and the result, after processing the whole list, is used as the annotated
116
+ # text. Otherwise, the brief description is used as-is. If left blank, the
117
+ # following values are used ($name is automatically replaced with the name of
118
+ # the entity):The $name class, The $name widget, The $name file, is, provides,
119
+ # specifies, contains, represents, a, an and the.
120
+
121
+ ABBREVIATE_BRIEF =
122
+
123
+ # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
124
+ # doxygen will generate a detailed section even if there is only a brief
125
+ # description.
126
+ # The default value is: NO.
127
+
128
+ ALWAYS_DETAILED_SEC = YES
129
+
130
+ # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
131
+ # inherited members of a class in the documentation of that class as if those
132
+ # members were ordinary class members. Constructors, destructors and assignment
133
+ # operators of the base classes will not be shown.
134
+ # The default value is: NO.
135
+
136
+ INLINE_INHERITED_MEMB = YES
137
+
138
+ # If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path
139
+ # before files name in the file list and in the header files. If set to NO the
140
+ # shortest path that makes the file name unique will be used
141
+ # The default value is: YES.
142
+
143
+ FULL_PATH_NAMES = YES
144
+
145
+ # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
146
+ # Stripping is only done if one of the specified strings matches the left-hand
147
+ # part of the path. The tag can be used to show relative paths in the file list.
148
+ # If left blank the directory from which doxygen is run is used as the path to
149
+ # strip.
150
+ #
151
+ # Note that you can specify absolute paths here, but also relative paths, which
152
+ # will be relative from the directory where doxygen is started.
153
+ # This tag requires that the tag FULL_PATH_NAMES is set to YES.
154
+
155
+ STRIP_FROM_PATH = inc/
156
+
157
+ # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
158
+ # path mentioned in the documentation of a class, which tells the reader which
159
+ # header file to include in order to use a class. If left blank only the name of
160
+ # the header file containing the class definition is used. Otherwise one should
161
+ # specify the list of include paths that are normally passed to the compiler
162
+ # using the -I flag.
163
+
164
+ STRIP_FROM_INC_PATH =
165
+
166
+ # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
167
+ # less readable) file names. This can be useful is your file systems doesn't
168
+ # support long names like on DOS, Mac, or CD-ROM.
169
+ # The default value is: NO.
170
+
171
+ SHORT_NAMES = NO
172
+
173
+ # If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
174
+ # first line (until the first dot) of a Javadoc-style comment as the brief
175
+ # description. If set to NO, the Javadoc-style will behave just like regular Qt-
176
+ # style comments (thus requiring an explicit @brief command for a brief
177
+ # description.)
178
+ # The default value is: NO.
179
+
180
+ JAVADOC_AUTOBRIEF = YES
181
+
182
+ # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
183
+ # line (until the first dot) of a Qt-style comment as the brief description. If
184
+ # set to NO, the Qt-style will behave just like regular Qt-style comments (thus
185
+ # requiring an explicit \brief command for a brief description.)
186
+ # The default value is: NO.
187
+
188
+ QT_AUTOBRIEF = NO
189
+
190
+ # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
191
+ # multi-line C++ special comment block (i.e. a block of //! or /// comments) as
192
+ # a brief description. This used to be the default behavior. The new default is
193
+ # to treat a multi-line C++ comment block as a detailed description. Set this
194
+ # tag to YES if you prefer the old behavior instead.
195
+ #
196
+ # Note that setting this tag to YES also means that rational rose comments are
197
+ # not recognized any more.
198
+ # The default value is: NO.
199
+
200
+ MULTILINE_CPP_IS_BRIEF = NO
201
+
202
+ # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
203
+ # documentation from any documented member that it re-implements.
204
+ # The default value is: YES.
205
+
206
+ INHERIT_DOCS = YES
207
+
208
+ # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a
209
+ # new page for each member. If set to NO, the documentation of a member will be
210
+ # part of the file/class/namespace that contains it.
211
+ # The default value is: NO.
212
+
213
+ SEPARATE_MEMBER_PAGES = NO
214
+
215
+ # The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
216
+ # uses this value to replace tabs by spaces in code fragments.
217
+ # Minimum value: 1, maximum value: 16, default value: 4.
218
+
219
+ TAB_SIZE = 4
220
+
221
+ # This tag can be used to specify a number of aliases that act as commands in
222
+ # the documentation. An alias has the form:
223
+ # name=value
224
+ # For example adding
225
+ # "sideeffect=@par Side Effects:\n"
226
+ # will allow you to put the command \sideeffect (or @sideeffect) in the
227
+ # documentation, which will result in a user-defined paragraph with heading
228
+ # "Side Effects:". You can put \n's in the value part of an alias to insert
229
+ # newlines.
230
+
231
+ ALIASES =
232
+
233
+ # This tag can be used to specify a number of word-keyword mappings (TCL only).
234
+ # A mapping has the form "name=value". For example adding "class=itcl::class"
235
+ # will allow you to use the command class in the itcl::class meaning.
236
+
237
+ TCL_SUBST =
238
+
239
+ # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
240
+ # only. Doxygen will then generate output that is more tailored for C. For
241
+ # instance, some of the names that are used will be different. The list of all
242
+ # members will be omitted, etc.
243
+ # The default value is: NO.
244
+
245
+ OPTIMIZE_OUTPUT_FOR_C = NO
246
+
247
+ # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
248
+ # Python sources only. Doxygen will then generate output that is more tailored
249
+ # for that language. For instance, namespaces will be presented as packages,
250
+ # qualified scopes will look different, etc.
251
+ # The default value is: NO.
252
+
253
+ OPTIMIZE_OUTPUT_JAVA = NO
254
+
255
+ # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
256
+ # sources. Doxygen will then generate output that is tailored for Fortran.
257
+ # The default value is: NO.
258
+
259
+ OPTIMIZE_FOR_FORTRAN = NO
260
+
261
+ # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
262
+ # sources. Doxygen will then generate output that is tailored for VHDL.
263
+ # The default value is: NO.
264
+
265
+ OPTIMIZE_OUTPUT_VHDL = NO
266
+
267
+ # Doxygen selects the parser to use depending on the extension of the files it
268
+ # parses. With this tag you can assign which parser to use for a given
269
+ # extension. Doxygen has a built-in mapping, but you can override or extend it
270
+ # using this tag. The format is ext=language, where ext is a file extension, and
271
+ # language is one of the parsers supported by doxygen: IDL, Java, Javascript,
272
+ # C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
273
+ # FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
274
+ # Fortran. In the later case the parser tries to guess whether the code is fixed
275
+ # or free formatted code, this is the default for Fortran type files), VHDL. For
276
+ # instance to make doxygen treat .inc files as Fortran files (default is PHP),
277
+ # and .f files as C (default is Fortran), use: inc=Fortran f=C.
278
+ #
279
+ # Note For files without extension you can use no_extension as a placeholder.
280
+ #
281
+ # Note that for custom extensions you also need to set FILE_PATTERNS otherwise
282
+ # the files are not read by doxygen.
283
+
284
+ EXTENSION_MAPPING =
285
+
286
+ # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
287
+ # according to the Markdown format, which allows for more readable
288
+ # documentation. See http://daringfireball.net/projects/markdown/ for details.
289
+ # The output of markdown processing is further processed by doxygen, so you can
290
+ # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
291
+ # case of backward compatibilities issues.
292
+ # The default value is: YES.
293
+
294
+ MARKDOWN_SUPPORT = YES
295
+
296
+ # When enabled doxygen tries to link words that correspond to documented
297
+ # classes, or namespaces to their corresponding documentation. Such a link can
298
+ # be prevented in individual cases by by putting a % sign in front of the word
299
+ # or globally by setting AUTOLINK_SUPPORT to NO.
300
+ # The default value is: YES.
301
+
302
+ AUTOLINK_SUPPORT = YES
303
+
304
+ # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
305
+ # to include (a tag file for) the STL sources as input, then you should set this
306
+ # tag to YES in order to let doxygen match functions declarations and
307
+ # definitions whose arguments contain STL classes (e.g. func(std::string);
308
+ # versus func(std::string) {}). This also make the inheritance and collaboration
309
+ # diagrams that involve STL classes more complete and accurate.
310
+ # The default value is: NO.
311
+
312
+ BUILTIN_STL_SUPPORT = YES
313
+
314
+ # If you use Microsoft's C++/CLI language, you should set this option to YES to
315
+ # enable parsing support.
316
+ # The default value is: NO.
317
+
318
+ CPP_CLI_SUPPORT = NO
319
+
320
+ # Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
321
+ # http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
322
+ # will parse them like normal C++ but will assume all classes use public instead
323
+ # of private inheritance when no explicit protection keyword is present.
324
+ # The default value is: NO.
325
+
326
+ SIP_SUPPORT = NO
327
+
328
+ # For Microsoft's IDL there are propget and propput attributes to indicate
329
+ # getter and setter methods for a property. Setting this option to YES will make
330
+ # doxygen to replace the get and set methods by a property in the documentation.
331
+ # This will only work if the methods are indeed getting or setting a simple
332
+ # type. If this is not the case, or you want to show the methods anyway, you
333
+ # should set this option to NO.
334
+ # The default value is: YES.
335
+
336
+ IDL_PROPERTY_SUPPORT = YES
337
+
338
+ # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
339
+ # tag is set to YES, then doxygen will reuse the documentation of the first
340
+ # member in the group (if any) for the other members of the group. By default
341
+ # all members of a group must be documented explicitly.
342
+ # The default value is: NO.
343
+
344
+ DISTRIBUTE_GROUP_DOC = NO
345
+
346
+ # Set the SUBGROUPING tag to YES to allow class member groups of the same type
347
+ # (for instance a group of public functions) to be put as a subgroup of that
348
+ # type (e.g. under the Public Functions section). Set it to NO to prevent
349
+ # subgrouping. Alternatively, this can be done per class using the
350
+ # \nosubgrouping command.
351
+ # The default value is: YES.
352
+
353
+ SUBGROUPING = YES
354
+
355
+ # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
356
+ # are shown inside the group in which they are included (e.g. using \ingroup)
357
+ # instead of on a separate page (for HTML and Man pages) or section (for LaTeX
358
+ # and RTF).
359
+ #
360
+ # Note that this feature does not work in combination with
361
+ # SEPARATE_MEMBER_PAGES.
362
+ # The default value is: NO.
363
+
364
+ INLINE_GROUPED_CLASSES = NO
365
+
366
+ # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
367
+ # with only public data fields or simple typedef fields will be shown inline in
368
+ # the documentation of the scope in which they are defined (i.e. file,
369
+ # namespace, or group documentation), provided this scope is documented. If set
370
+ # to NO, structs, classes, and unions are shown on a separate page (for HTML and
371
+ # Man pages) or section (for LaTeX and RTF).
372
+ # The default value is: NO.
373
+
374
+ INLINE_SIMPLE_STRUCTS = NO
375
+
376
+ # When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
377
+ # enum is documented as struct, union, or enum with the name of the typedef. So
378
+ # typedef struct TypeS {} TypeT, will appear in the documentation as a struct
379
+ # with name TypeT. When disabled the typedef will appear as a member of a file,
380
+ # namespace, or class. And the struct will be named TypeS. This can typically be
381
+ # useful for C code in case the coding convention dictates that all compound
382
+ # types are typedef'ed and only the typedef is referenced, never the tag name.
383
+ # The default value is: NO.
384
+
385
+ TYPEDEF_HIDES_STRUCT = YES
386
+
387
+ # The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
388
+ # cache is used to resolve symbols given their name and scope. Since this can be
389
+ # an expensive process and often the same symbol appears multiple times in the
390
+ # code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
391
+ # doxygen will become slower. If the cache is too large, memory is wasted. The
392
+ # cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
393
+ # is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
394
+ # symbols. At the end of a run doxygen will report the cache usage and suggest
395
+ # the optimal cache size from a speed point of view.
396
+ # Minimum value: 0, maximum value: 9, default value: 0.
397
+
398
+ LOOKUP_CACHE_SIZE = 0
399
+
400
+ #---------------------------------------------------------------------------
401
+ # Build related configuration options
402
+ #---------------------------------------------------------------------------
403
+
404
+ # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
405
+ # documentation are documented, even if no documentation was available. Private
406
+ # class members and static file members will be hidden unless the
407
+ # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
408
+ # Note: This will also disable the warnings about undocumented members that are
409
+ # normally produced when WARNINGS is set to YES.
410
+ # The default value is: NO.
411
+
412
+ EXTRACT_ALL = NO
413
+
414
+ # If the EXTRACT_PRIVATE tag is set to YES all private members of a class will
415
+ # be included in the documentation.
416
+ # The default value is: NO.
417
+
418
+ EXTRACT_PRIVATE = NO
419
+
420
+ # If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
421
+ # scope will be included in the documentation.
422
+ # The default value is: NO.
423
+
424
+ EXTRACT_PACKAGE = YES
425
+
426
+ # If the EXTRACT_STATIC tag is set to YES all static members of a file will be
427
+ # included in the documentation.
428
+ # The default value is: NO.
429
+
430
+ EXTRACT_STATIC = YES
431
+
432
+ # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined
433
+ # locally in source files will be included in the documentation. If set to NO
434
+ # only classes defined in header files are included. Does not have any effect
435
+ # for Java sources.
436
+ # The default value is: YES.
437
+
438
+ EXTRACT_LOCAL_CLASSES = YES
439
+
440
+ # This flag is only useful for Objective-C code. When set to YES local methods,
441
+ # which are defined in the implementation section but not in the interface are
442
+ # included in the documentation. If set to NO only methods in the interface are
443
+ # included.
444
+ # The default value is: NO.
445
+
446
+ EXTRACT_LOCAL_METHODS = YES
447
+
448
+ # If this flag is set to YES, the members of anonymous namespaces will be
449
+ # extracted and appear in the documentation as a namespace called
450
+ # 'anonymous_namespace{file}', where file will be replaced with the base name of
451
+ # the file that contains the anonymous namespace. By default anonymous namespace
452
+ # are hidden.
453
+ # The default value is: NO.
454
+
455
+ EXTRACT_ANON_NSPACES = YES
456
+
457
+ # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
458
+ # undocumented members inside documented classes or files. If set to NO these
459
+ # members will be included in the various overviews, but no documentation
460
+ # section is generated. This option has no effect if EXTRACT_ALL is enabled.
461
+ # The default value is: NO.
462
+
463
+ HIDE_UNDOC_MEMBERS = NO
464
+
465
+ # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
466
+ # undocumented classes that are normally visible in the class hierarchy. If set
467
+ # to NO these classes will be included in the various overviews. This option has
468
+ # no effect if EXTRACT_ALL is enabled.
469
+ # The default value is: NO.
470
+
471
+ HIDE_UNDOC_CLASSES = NO
472
+
473
+ # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
474
+ # (class|struct|union) declarations. If set to NO these declarations will be
475
+ # included in the documentation.
476
+ # The default value is: NO.
477
+
478
+ HIDE_FRIEND_COMPOUNDS = NO
479
+
480
+ # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
481
+ # documentation blocks found inside the body of a function. If set to NO these
482
+ # blocks will be appended to the function's detailed documentation block.
483
+ # The default value is: NO.
484
+
485
+ HIDE_IN_BODY_DOCS = NO
486
+
487
+ # The INTERNAL_DOCS tag determines if documentation that is typed after a
488
+ # \internal command is included. If the tag is set to NO then the documentation
489
+ # will be excluded. Set it to YES to include the internal documentation.
490
+ # The default value is: NO.
491
+
492
+ INTERNAL_DOCS = NO
493
+
494
+ # If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
495
+ # names in lower-case letters. If set to YES upper-case letters are also
496
+ # allowed. This is useful if you have classes or files whose names only differ
497
+ # in case and if your file system supports case sensitive file names. Windows
498
+ # and Mac users are advised to set this option to NO.
499
+ # The default value is: system dependent.
500
+
501
+ CASE_SENSE_NAMES = NO
502
+
503
+ # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
504
+ # their full class and namespace scopes in the documentation. If set to YES the
505
+ # scope will be hidden.
506
+ # The default value is: NO.
507
+
508
+ HIDE_SCOPE_NAMES = NO
509
+
510
+ # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
511
+ # the files that are included by a file in the documentation of that file.
512
+ # The default value is: YES.
513
+
514
+ SHOW_INCLUDE_FILES = NO
515
+
516
+ # If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
517
+ # grouped member an include statement to the documentation, telling the reader
518
+ # which file to include in order to use the member.
519
+ # The default value is: NO.
520
+
521
+ SHOW_GROUPED_MEMB_INC = YES
522
+
523
+ # If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
524
+ # files with double quotes in the documentation rather than with sharp brackets.
525
+ # The default value is: NO.
526
+
527
+ FORCE_LOCAL_INCLUDES = NO
528
+
529
+ # If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
530
+ # documentation for inline members.
531
+ # The default value is: YES.
532
+
533
+ INLINE_INFO = YES
534
+
535
+ # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
536
+ # (detailed) documentation of file and class members alphabetically by member
537
+ # name. If set to NO the members will appear in declaration order.
538
+ # The default value is: YES.
539
+
540
+ SORT_MEMBER_DOCS = YES
541
+
542
+ # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
543
+ # descriptions of file, namespace and class members alphabetically by member
544
+ # name. If set to NO the members will appear in declaration order. Note that
545
+ # this will also influence the order of the classes in the class list.
546
+ # The default value is: NO.
547
+
548
+ SORT_BRIEF_DOCS = NO
549
+
550
+ # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
551
+ # (brief and detailed) documentation of class members so that constructors and
552
+ # destructors are listed first. If set to NO the constructors will appear in the
553
+ # respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
554
+ # Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
555
+ # member documentation.
556
+ # Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
557
+ # detailed member documentation.
558
+ # The default value is: NO.
559
+
560
+ SORT_MEMBERS_CTORS_1ST = NO
561
+
562
+ # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
563
+ # of group names into alphabetical order. If set to NO the group names will
564
+ # appear in their defined order.
565
+ # The default value is: NO.
566
+
567
+ SORT_GROUP_NAMES = YES
568
+
569
+ # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
570
+ # fully-qualified names, including namespaces. If set to NO, the class list will
571
+ # be sorted only by class name, not including the namespace part.
572
+ # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
573
+ # Note: This option applies only to the class list, not to the alphabetical
574
+ # list.
575
+ # The default value is: NO.
576
+
577
+ SORT_BY_SCOPE_NAME = NO
578
+
579
+ # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
580
+ # type resolution of all parameters of a function it will reject a match between
581
+ # the prototype and the implementation of a member function even if there is
582
+ # only one candidate or it is obvious which candidate to choose by doing a
583
+ # simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
584
+ # accept a match between prototype and implementation in such cases.
585
+ # The default value is: NO.
586
+
587
+ STRICT_PROTO_MATCHING = NO
588
+
589
+ # The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the
590
+ # todo list. This list is created by putting \todo commands in the
591
+ # documentation.
592
+ # The default value is: YES.
593
+
594
+ GENERATE_TODOLIST = YES
595
+
596
+ # The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the
597
+ # test list. This list is created by putting \test commands in the
598
+ # documentation.
599
+ # The default value is: YES.
600
+
601
+ GENERATE_TESTLIST = YES
602
+
603
+ # The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug
604
+ # list. This list is created by putting \bug commands in the documentation.
605
+ # The default value is: YES.
606
+
607
+ GENERATE_BUGLIST = YES
608
+
609
+ # The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO)
610
+ # the deprecated list. This list is created by putting \deprecated commands in
611
+ # the documentation.
612
+ # The default value is: YES.
613
+
614
+ GENERATE_DEPRECATEDLIST= YES
615
+
616
+ # The ENABLED_SECTIONS tag can be used to enable conditional documentation
617
+ # sections, marked by \if <section_label> ... \endif and \cond <section_label>
618
+ # ... \endcond blocks.
619
+
620
+ ENABLED_SECTIONS =
621
+
622
+ # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
623
+ # initial value of a variable or macro / define can have for it to appear in the
624
+ # documentation. If the initializer consists of more lines than specified here
625
+ # it will be hidden. Use a value of 0 to hide initializers completely. The
626
+ # appearance of the value of individual variables and macros / defines can be
627
+ # controlled using \showinitializer or \hideinitializer command in the
628
+ # documentation regardless of this setting.
629
+ # Minimum value: 0, maximum value: 10000, default value: 30.
630
+
631
+ MAX_INITIALIZER_LINES = 30
632
+
633
+ # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
634
+ # the bottom of the documentation of classes and structs. If set to YES the list
635
+ # will mention the files that were used to generate the documentation.
636
+ # The default value is: YES.
637
+
638
+ SHOW_USED_FILES = YES
639
+
640
+ # Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
641
+ # will remove the Files entry from the Quick Index and from the Folder Tree View
642
+ # (if specified).
643
+ # The default value is: YES.
644
+
645
+ SHOW_FILES = YES
646
+
647
+ # Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
648
+ # page. This will remove the Namespaces entry from the Quick Index and from the
649
+ # Folder Tree View (if specified).
650
+ # The default value is: YES.
651
+
652
+ SHOW_NAMESPACES = YES
653
+
654
+ # The FILE_VERSION_FILTER tag can be used to specify a program or script that
655
+ # doxygen should invoke to get the current version for each file (typically from
656
+ # the version control system). Doxygen will invoke the program by executing (via
657
+ # popen()) the command command input-file, where command is the value of the
658
+ # FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
659
+ # by doxygen. Whatever the program writes to standard output is used as the file
660
+ # version. For an example see the documentation.
661
+
662
+ FILE_VERSION_FILTER =
663
+
664
+ # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
665
+ # by doxygen. The layout file controls the global structure of the generated
666
+ # output files in an output format independent way. To create the layout file
667
+ # that represents doxygen's defaults, run doxygen with the -l option. You can
668
+ # optionally specify a file name after the option, if omitted DoxygenLayout.xml
669
+ # will be used as the name of the layout file.
670
+ #
671
+ # Note that if you run doxygen from a directory containing a file called
672
+ # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
673
+ # tag is left empty.
674
+
675
+ LAYOUT_FILE =
676
+
677
+ # The CITE_BIB_FILES tag can be used to specify one or more bib files containing
678
+ # the reference definitions. This must be a list of .bib files. The .bib
679
+ # extension is automatically appended if omitted. This requires the bibtex tool
680
+ # to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
681
+ # For LaTeX the style of the bibliography can be controlled using
682
+ # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
683
+ # search path. Do not use file names with spaces, bibtex cannot handle them. See
684
+ # also \cite for info how to create references.
685
+
686
+ CITE_BIB_FILES =
687
+
688
+ #---------------------------------------------------------------------------
689
+ # Configuration options related to warning and progress messages
690
+ #---------------------------------------------------------------------------
691
+
692
+ # The QUIET tag can be used to turn on/off the messages that are generated to
693
+ # standard output by doxygen. If QUIET is set to YES this implies that the
694
+ # messages are off.
695
+ # The default value is: NO.
696
+
697
+ QUIET = YES
698
+
699
+ # The WARNINGS tag can be used to turn on/off the warning messages that are
700
+ # generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES
701
+ # this implies that the warnings are on.
702
+ #
703
+ # Tip: Turn warnings on while writing the documentation.
704
+ # The default value is: YES.
705
+
706
+ WARNINGS = YES
707
+
708
+ # If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate
709
+ # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
710
+ # will automatically be disabled.
711
+ # The default value is: YES.
712
+
713
+ WARN_IF_UNDOCUMENTED = YES
714
+
715
+ # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
716
+ # potential errors in the documentation, such as not documenting some parameters
717
+ # in a documented function, or documenting parameters that don't exist or using
718
+ # markup commands wrongly.
719
+ # The default value is: YES.
720
+
721
+ WARN_IF_DOC_ERROR = YES
722
+
723
+ # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
724
+ # are documented, but have no documentation for their parameters or return
725
+ # value. If set to NO doxygen will only warn about wrong or incomplete parameter
726
+ # documentation, but not about the absence of documentation.
727
+ # The default value is: NO.
728
+
729
+ WARN_NO_PARAMDOC = YES
730
+
731
+ # The WARN_FORMAT tag determines the format of the warning messages that doxygen
732
+ # can produce. The string should contain the $file, $line, and $text tags, which
733
+ # will be replaced by the file and line number from which the warning originated
734
+ # and the warning text. Optionally the format may contain $version, which will
735
+ # be replaced by the version of the file (if it could be obtained via
736
+ # FILE_VERSION_FILTER)
737
+ # The default value is: $file:$line: $text.
738
+
739
+ WARN_FORMAT = "$file:$line: $text"
740
+
741
+ # The WARN_LOGFILE tag can be used to specify a file to which warning and error
742
+ # messages should be written. If left blank the output is written to standard
743
+ # error (stderr).
744
+
745
+ WARN_LOGFILE = html/warnings.txt
746
+
747
+ #---------------------------------------------------------------------------
748
+ # Configuration options related to the input files
749
+ #---------------------------------------------------------------------------
750
+
751
+ # The INPUT tag is used to specify the files and/or directories that contain
752
+ # documented source files. You may enter file names like myfile.cpp or
753
+ # directories like /usr/src/myproject. Separate the files or directories with
754
+ # spaces.
755
+ # Note: If this tag is empty the current directory is searched.
756
+
757
+ INPUT = ../README.md \
758
+ inc \
759
+ docs
760
+
761
+ # This tag can be used to specify the character encoding of the source files
762
+ # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
763
+ # libiconv (or the iconv built into libc) for the transcoding. See the libiconv
764
+ # documentation (see: http://www.gnu.org/software/libiconv) for the list of
765
+ # possible encodings.
766
+ # The default value is: UTF-8.
767
+
768
+ INPUT_ENCODING = UTF-8
769
+
770
+ # If the value of the INPUT tag contains directories, you can use the
771
+ # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
772
+ # *.h) to filter out the source-files in the directories. If left blank the
773
+ # following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
774
+ # *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
775
+ # *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
776
+ # *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
777
+ # *.qsf, *.as and *.js.
778
+
779
+ FILE_PATTERNS =
780
+
781
+ # The RECURSIVE tag can be used to specify whether or not subdirectories should
782
+ # be searched for input files as well.
783
+ # The default value is: NO.
784
+
785
+ RECURSIVE = YES
786
+
787
+ # The EXCLUDE tag can be used to specify files and/or directories that should be
788
+ # excluded from the INPUT source files. This way you can easily exclude a
789
+ # subdirectory from a directory tree whose root is specified with the INPUT tag.
790
+ #
791
+ # Note that relative paths are relative to the directory from which doxygen is
792
+ # run.
793
+
794
+ EXCLUDE =
795
+
796
+ # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
797
+ # directories that are symbolic links (a Unix file system feature) are excluded
798
+ # from the input.
799
+ # The default value is: NO.
800
+
801
+ EXCLUDE_SYMLINKS = NO
802
+
803
+ # If the value of the INPUT tag contains directories, you can use the
804
+ # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
805
+ # certain files from those directories.
806
+ #
807
+ # Note that the wildcards are matched against the file with absolute path, so to
808
+ # exclude all test directories for example use the pattern */test/*
809
+
810
+ EXCLUDE_PATTERNS =
811
+
812
+ # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
813
+ # (namespaces, classes, functions, etc.) that should be excluded from the
814
+ # output. The symbol name can be a fully qualified name, a word, or if the
815
+ # wildcard * is used, a substring. Examples: ANamespace, AClass,
816
+ # AClass::ANamespace, ANamespace::*Test
817
+ #
818
+ # Note that the wildcards are matched against the file with absolute path, so to
819
+ # exclude all test directories use the pattern */test/*
820
+
821
+ EXCLUDE_SYMBOLS =
822
+
823
+ # The EXAMPLE_PATH tag can be used to specify one or more files or directories
824
+ # that contain example code fragments that are included (see the \include
825
+ # command).
826
+
827
+ EXAMPLE_PATH =
828
+
829
+ # If the value of the EXAMPLE_PATH tag contains directories, you can use the
830
+ # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
831
+ # *.h) to filter out the source-files in the directories. If left blank all
832
+ # files are included.
833
+
834
+ EXAMPLE_PATTERNS =
835
+
836
+ # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
837
+ # searched for input files to be used with the \include or \dontinclude commands
838
+ # irrespective of the value of the RECURSIVE tag.
839
+ # The default value is: NO.
840
+
841
+ EXAMPLE_RECURSIVE = NO
842
+
843
+ # The IMAGE_PATH tag can be used to specify one or more files or directories
844
+ # that contain images that are to be included in the documentation (see the
845
+ # \image command).
846
+
847
+ IMAGE_PATH =
848
+
849
+ # The INPUT_FILTER tag can be used to specify a program that doxygen should
850
+ # invoke to filter for each input file. Doxygen will invoke the filter program
851
+ # by executing (via popen()) the command:
852
+ #
853
+ # <filter> <input-file>
854
+ #
855
+ # where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
856
+ # name of an input file. Doxygen will then use the output that the filter
857
+ # program writes to standard output. If FILTER_PATTERNS is specified, this tag
858
+ # will be ignored.
859
+ #
860
+ # Note that the filter must not add or remove lines; it is applied before the
861
+ # code is scanned, but not when the output code is generated. If lines are added
862
+ # or removed, the anchors will not be placed correctly.
863
+
864
+ INPUT_FILTER =
865
+
866
+ # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
867
+ # basis. Doxygen will compare the file name with each pattern and apply the
868
+ # filter if there is a match. The filters are a list of the form: pattern=filter
869
+ # (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
870
+ # filters are used. If the FILTER_PATTERNS tag is empty or if none of the
871
+ # patterns match the file name, INPUT_FILTER is applied.
872
+
873
+ FILTER_PATTERNS =
874
+
875
+ # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
876
+ # INPUT_FILTER ) will also be used to filter the input files that are used for
877
+ # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
878
+ # The default value is: NO.
879
+
880
+ FILTER_SOURCE_FILES = NO
881
+
882
+ # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
883
+ # pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
884
+ # it is also possible to disable source filtering for a specific pattern using
885
+ # *.ext= (so without naming a filter).
886
+ # This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
887
+
888
+ FILTER_SOURCE_PATTERNS =
889
+
890
+ # If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
891
+ # is part of the input, its contents will be placed on the main page
892
+ # (index.html). This can be useful if you have a project on for instance GitHub
893
+ # and want to reuse the introduction page also for the doxygen output.
894
+
895
+ USE_MDFILE_AS_MAINPAGE = README.md
896
+
897
+ #---------------------------------------------------------------------------
898
+ # Configuration options related to source browsing
899
+ #---------------------------------------------------------------------------
900
+
901
+ # If the SOURCE_BROWSER tag is set to YES then a list of source files will be
902
+ # generated. Documented entities will be cross-referenced with these sources.
903
+ #
904
+ # Note: To get rid of all source code in the generated output, make sure that
905
+ # also VERBATIM_HEADERS is set to NO.
906
+ # The default value is: NO.
907
+
908
+ SOURCE_BROWSER = YES
909
+
910
+ # Setting the INLINE_SOURCES tag to YES will include the body of functions,
911
+ # classes and enums directly into the documentation.
912
+ # The default value is: NO.
913
+
914
+ INLINE_SOURCES = NO
915
+
916
+ # Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
917
+ # special comment blocks from generated source code fragments. Normal C, C++ and
918
+ # Fortran comments will always remain visible.
919
+ # The default value is: YES.
920
+
921
+ STRIP_CODE_COMMENTS = YES
922
+
923
+ # If the REFERENCED_BY_RELATION tag is set to YES then for each documented
924
+ # function all documented functions referencing it will be listed.
925
+ # The default value is: NO.
926
+
927
+ REFERENCED_BY_RELATION = NO
928
+
929
+ # If the REFERENCES_RELATION tag is set to YES then for each documented function
930
+ # all documented entities called/used by that function will be listed.
931
+ # The default value is: NO.
932
+
933
+ REFERENCES_RELATION = NO
934
+
935
+ # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
936
+ # to YES, then the hyperlinks from functions in REFERENCES_RELATION and
937
+ # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
938
+ # link to the documentation.
939
+ # The default value is: YES.
940
+
941
+ REFERENCES_LINK_SOURCE = YES
942
+
943
+ # If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
944
+ # source code will show a tooltip with additional information such as prototype,
945
+ # brief description and links to the definition and documentation. Since this
946
+ # will make the HTML file larger and loading of large files a bit slower, you
947
+ # can opt to disable this feature.
948
+ # The default value is: YES.
949
+ # This tag requires that the tag SOURCE_BROWSER is set to YES.
950
+
951
+ SOURCE_TOOLTIPS = YES
952
+
953
+ # If the USE_HTAGS tag is set to YES then the references to source code will
954
+ # point to the HTML generated by the htags(1) tool instead of doxygen built-in
955
+ # source browser. The htags tool is part of GNU's global source tagging system
956
+ # (see http://www.gnu.org/software/global/global.html). You will need version
957
+ # 4.8.6 or higher.
958
+ #
959
+ # To use it do the following:
960
+ # - Install the latest version of global
961
+ # - Enable SOURCE_BROWSER and USE_HTAGS in the config file
962
+ # - Make sure the INPUT points to the root of the source tree
963
+ # - Run doxygen as normal
964
+ #
965
+ # Doxygen will invoke htags (and that will in turn invoke gtags), so these
966
+ # tools must be available from the command line (i.e. in the search path).
967
+ #
968
+ # The result: instead of the source browser generated by doxygen, the links to
969
+ # source code will now point to the output of htags.
970
+ # The default value is: NO.
971
+ # This tag requires that the tag SOURCE_BROWSER is set to YES.
972
+
973
+ USE_HTAGS = NO
974
+
975
+ # If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
976
+ # verbatim copy of the header file for each class for which an include is
977
+ # specified. Set to NO to disable this.
978
+ # See also: Section \class.
979
+ # The default value is: YES.
980
+
981
+ VERBATIM_HEADERS = YES
982
+
983
+ #---------------------------------------------------------------------------
984
+ # Configuration options related to the alphabetical class index
985
+ #---------------------------------------------------------------------------
986
+
987
+ # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
988
+ # compounds will be generated. Enable this if the project contains a lot of
989
+ # classes, structs, unions or interfaces.
990
+ # The default value is: YES.
991
+
992
+ ALPHABETICAL_INDEX = YES
993
+
994
+ # The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
995
+ # which the alphabetical index list will be split.
996
+ # Minimum value: 1, maximum value: 20, default value: 5.
997
+ # This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
998
+
999
+ COLS_IN_ALPHA_INDEX = 5
1000
+
1001
+ # In case all classes in a project start with a common prefix, all classes will
1002
+ # be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
1003
+ # can be used to specify a prefix (or a list of prefixes) that should be ignored
1004
+ # while generating the index headers.
1005
+ # This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
1006
+
1007
+ IGNORE_PREFIX =
1008
+
1009
+ #---------------------------------------------------------------------------
1010
+ # Configuration options related to the HTML output
1011
+ #---------------------------------------------------------------------------
1012
+
1013
+ # If the GENERATE_HTML tag is set to YES doxygen will generate HTML output
1014
+ # The default value is: YES.
1015
+
1016
+ GENERATE_HTML = YES
1017
+
1018
+ # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
1019
+ # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
1020
+ # it.
1021
+ # The default directory is: html.
1022
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1023
+
1024
+ HTML_OUTPUT = html
1025
+
1026
+ # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
1027
+ # generated HTML page (for example: .htm, .php, .asp).
1028
+ # The default value is: .html.
1029
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1030
+
1031
+ HTML_FILE_EXTENSION = .html
1032
+
1033
+ # The HTML_HEADER tag can be used to specify a user-defined HTML header file for
1034
+ # each generated HTML page. If the tag is left blank doxygen will generate a
1035
+ # standard header.
1036
+ #
1037
+ # To get valid HTML the header file that includes any scripts and style sheets
1038
+ # that doxygen needs, which is dependent on the configuration options used (e.g.
1039
+ # the setting GENERATE_TREEVIEW). It is highly recommended to start with a
1040
+ # default header using
1041
+ # doxygen -w html new_header.html new_footer.html new_stylesheet.css
1042
+ # YourConfigFile
1043
+ # and then modify the file new_header.html. See also section "Doxygen usage"
1044
+ # for information on how to generate the default header that doxygen normally
1045
+ # uses.
1046
+ # Note: The header is subject to change so you typically have to regenerate the
1047
+ # default header when upgrading to a newer version of doxygen. For a description
1048
+ # of the possible markers and block names see the documentation.
1049
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1050
+
1051
+ HTML_HEADER =
1052
+
1053
+ # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
1054
+ # generated HTML page. If the tag is left blank doxygen will generate a standard
1055
+ # footer. See HTML_HEADER for more information on how to generate a default
1056
+ # footer and what special commands can be used inside the footer. See also
1057
+ # section "Doxygen usage" for information on how to generate the default footer
1058
+ # that doxygen normally uses.
1059
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1060
+
1061
+ HTML_FOOTER =
1062
+
1063
+ # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
1064
+ # sheet that is used by each HTML page. It can be used to fine-tune the look of
1065
+ # the HTML output. If left blank doxygen will generate a default style sheet.
1066
+ # See also section "Doxygen usage" for information on how to generate the style
1067
+ # sheet that doxygen normally uses.
1068
+ # Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
1069
+ # it is more robust and this tag (HTML_STYLESHEET) will in the future become
1070
+ # obsolete.
1071
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1072
+
1073
+ HTML_STYLESHEET =
1074
+
1075
+ # The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user-
1076
+ # defined cascading style sheet that is included after the standard style sheets
1077
+ # created by doxygen. Using this option one can overrule certain style aspects.
1078
+ # This is preferred over using HTML_STYLESHEET since it does not replace the
1079
+ # standard style sheet and is therefor more robust against future updates.
1080
+ # Doxygen will copy the style sheet file to the output directory. For an example
1081
+ # see the documentation.
1082
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1083
+
1084
+ HTML_EXTRA_STYLESHEET =
1085
+
1086
+ # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
1087
+ # other source files which should be copied to the HTML output directory. Note
1088
+ # that these files will be copied to the base HTML output directory. Use the
1089
+ # $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
1090
+ # files. In the HTML_STYLESHEET file, use the file name only. Also note that the
1091
+ # files will be copied as-is; there are no commands or markers available.
1092
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1093
+
1094
+ HTML_EXTRA_FILES =
1095
+
1096
+ # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
1097
+ # will adjust the colors in the stylesheet and background images according to
1098
+ # this color. Hue is specified as an angle on a colorwheel, see
1099
+ # http://en.wikipedia.org/wiki/Hue for more information. For instance the value
1100
+ # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
1101
+ # purple, and 360 is red again.
1102
+ # Minimum value: 0, maximum value: 359, default value: 220.
1103
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1104
+
1105
+ HTML_COLORSTYLE_HUE = 220
1106
+
1107
+ # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
1108
+ # in the HTML output. For a value of 0 the output will use grayscales only. A
1109
+ # value of 255 will produce the most vivid colors.
1110
+ # Minimum value: 0, maximum value: 255, default value: 100.
1111
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1112
+
1113
+ HTML_COLORSTYLE_SAT = 100
1114
+
1115
+ # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
1116
+ # luminance component of the colors in the HTML output. Values below 100
1117
+ # gradually make the output lighter, whereas values above 100 make the output
1118
+ # darker. The value divided by 100 is the actual gamma applied, so 80 represents
1119
+ # a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
1120
+ # change the gamma.
1121
+ # Minimum value: 40, maximum value: 240, default value: 80.
1122
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1123
+
1124
+ HTML_COLORSTYLE_GAMMA = 80
1125
+
1126
+ # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
1127
+ # page will contain the date and time when the page was generated. Setting this
1128
+ # to NO can help when comparing the output of multiple runs.
1129
+ # The default value is: YES.
1130
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1131
+
1132
+ HTML_TIMESTAMP = YES
1133
+
1134
+ # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
1135
+ # documentation will contain sections that can be hidden and shown after the
1136
+ # page has loaded.
1137
+ # The default value is: NO.
1138
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1139
+
1140
+ HTML_DYNAMIC_SECTIONS = NO
1141
+
1142
+ # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
1143
+ # shown in the various tree structured indices initially; the user can expand
1144
+ # and collapse entries dynamically later on. Doxygen will expand the tree to
1145
+ # such a level that at most the specified number of entries are visible (unless
1146
+ # a fully collapsed tree already exceeds this amount). So setting the number of
1147
+ # entries 1 will produce a full collapsed tree by default. 0 is a special value
1148
+ # representing an infinite number of entries and will result in a full expanded
1149
+ # tree by default.
1150
+ # Minimum value: 0, maximum value: 9999, default value: 100.
1151
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1152
+
1153
+ HTML_INDEX_NUM_ENTRIES = 100
1154
+
1155
+ # If the GENERATE_DOCSET tag is set to YES, additional index files will be
1156
+ # generated that can be used as input for Apple's Xcode 3 integrated development
1157
+ # environment (see: http://developer.apple.com/tools/xcode/), introduced with
1158
+ # OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
1159
+ # Makefile in the HTML output directory. Running make will produce the docset in
1160
+ # that directory and running make install will install the docset in
1161
+ # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
1162
+ # startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
1163
+ # for more information.
1164
+ # The default value is: NO.
1165
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1166
+
1167
+ GENERATE_DOCSET = NO
1168
+
1169
+ # This tag determines the name of the docset feed. A documentation feed provides
1170
+ # an umbrella under which multiple documentation sets from a single provider
1171
+ # (such as a company or product suite) can be grouped.
1172
+ # The default value is: Doxygen generated docs.
1173
+ # This tag requires that the tag GENERATE_DOCSET is set to YES.
1174
+
1175
+ DOCSET_FEEDNAME = "Doxygen generated docs"
1176
+
1177
+ # This tag specifies a string that should uniquely identify the documentation
1178
+ # set bundle. This should be a reverse domain-name style string, e.g.
1179
+ # com.mycompany.MyDocSet. Doxygen will append .docset to the name.
1180
+ # The default value is: org.doxygen.Project.
1181
+ # This tag requires that the tag GENERATE_DOCSET is set to YES.
1182
+
1183
+ DOCSET_BUNDLE_ID = org.doxygen.Project
1184
+
1185
+ # The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
1186
+ # the documentation publisher. This should be a reverse domain-name style
1187
+ # string, e.g. com.mycompany.MyDocSet.documentation.
1188
+ # The default value is: org.doxygen.Publisher.
1189
+ # This tag requires that the tag GENERATE_DOCSET is set to YES.
1190
+
1191
+ DOCSET_PUBLISHER_ID = org.doxygen.Publisher
1192
+
1193
+ # The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
1194
+ # The default value is: Publisher.
1195
+ # This tag requires that the tag GENERATE_DOCSET is set to YES.
1196
+
1197
+ DOCSET_PUBLISHER_NAME = Publisher
1198
+
1199
+ # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
1200
+ # additional HTML index files: index.hhp, index.hhc, and index.hhk. The
1201
+ # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
1202
+ # (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
1203
+ # Windows.
1204
+ #
1205
+ # The HTML Help Workshop contains a compiler that can convert all HTML output
1206
+ # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
1207
+ # files are now used as the Windows 98 help format, and will replace the old
1208
+ # Windows help format (.hlp) on all Windows platforms in the future. Compressed
1209
+ # HTML files also contain an index, a table of contents, and you can search for
1210
+ # words in the documentation. The HTML workshop also contains a viewer for
1211
+ # compressed HTML files.
1212
+ # The default value is: NO.
1213
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1214
+
1215
+ GENERATE_HTMLHELP = NO
1216
+
1217
+ # The CHM_FILE tag can be used to specify the file name of the resulting .chm
1218
+ # file. You can add a path in front of the file if the result should not be
1219
+ # written to the html output directory.
1220
+ # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
1221
+
1222
+ CHM_FILE =
1223
+
1224
+ # The HHC_LOCATION tag can be used to specify the location (absolute path
1225
+ # including file name) of the HTML help compiler ( hhc.exe). If non-empty
1226
+ # doxygen will try to run the HTML help compiler on the generated index.hhp.
1227
+ # The file has to be specified with full path.
1228
+ # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
1229
+
1230
+ HHC_LOCATION =
1231
+
1232
+ # The GENERATE_CHI flag controls if a separate .chi index file is generated (
1233
+ # YES) or that it should be included in the master .chm file ( NO).
1234
+ # The default value is: NO.
1235
+ # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
1236
+
1237
+ GENERATE_CHI = NO
1238
+
1239
+ # The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc)
1240
+ # and project file content.
1241
+ # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
1242
+
1243
+ CHM_INDEX_ENCODING =
1244
+
1245
+ # The BINARY_TOC flag controls whether a binary table of contents is generated (
1246
+ # YES) or a normal table of contents ( NO) in the .chm file. Furthermore it
1247
+ # enables the Previous and Next buttons.
1248
+ # The default value is: NO.
1249
+ # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
1250
+
1251
+ BINARY_TOC = NO
1252
+
1253
+ # The TOC_EXPAND flag can be set to YES to add extra items for group members to
1254
+ # the table of contents of the HTML help documentation and to the tree view.
1255
+ # The default value is: NO.
1256
+ # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
1257
+
1258
+ TOC_EXPAND = NO
1259
+
1260
+ # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
1261
+ # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
1262
+ # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
1263
+ # (.qch) of the generated HTML documentation.
1264
+ # The default value is: NO.
1265
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1266
+
1267
+ GENERATE_QHP = NO
1268
+
1269
+ # If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
1270
+ # the file name of the resulting .qch file. The path specified is relative to
1271
+ # the HTML output folder.
1272
+ # This tag requires that the tag GENERATE_QHP is set to YES.
1273
+
1274
+ QCH_FILE =
1275
+
1276
+ # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
1277
+ # Project output. For more information please see Qt Help Project / Namespace
1278
+ # (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
1279
+ # The default value is: org.doxygen.Project.
1280
+ # This tag requires that the tag GENERATE_QHP is set to YES.
1281
+
1282
+ QHP_NAMESPACE =
1283
+
1284
+ # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
1285
+ # Help Project output. For more information please see Qt Help Project / Virtual
1286
+ # Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
1287
+ # folders).
1288
+ # The default value is: doc.
1289
+ # This tag requires that the tag GENERATE_QHP is set to YES.
1290
+
1291
+ QHP_VIRTUAL_FOLDER = doc
1292
+
1293
+ # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
1294
+ # filter to add. For more information please see Qt Help Project / Custom
1295
+ # Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
1296
+ # filters).
1297
+ # This tag requires that the tag GENERATE_QHP is set to YES.
1298
+
1299
+ QHP_CUST_FILTER_NAME =
1300
+
1301
+ # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
1302
+ # custom filter to add. For more information please see Qt Help Project / Custom
1303
+ # Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
1304
+ # filters).
1305
+ # This tag requires that the tag GENERATE_QHP is set to YES.
1306
+
1307
+ QHP_CUST_FILTER_ATTRS =
1308
+
1309
+ # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
1310
+ # project's filter section matches. Qt Help Project / Filter Attributes (see:
1311
+ # http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
1312
+ # This tag requires that the tag GENERATE_QHP is set to YES.
1313
+
1314
+ QHP_SECT_FILTER_ATTRS =
1315
+
1316
+ # The QHG_LOCATION tag can be used to specify the location of Qt's
1317
+ # qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
1318
+ # generated .qhp file.
1319
+ # This tag requires that the tag GENERATE_QHP is set to YES.
1320
+
1321
+ QHG_LOCATION =
1322
+
1323
+ # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
1324
+ # generated, together with the HTML files, they form an Eclipse help plugin. To
1325
+ # install this plugin and make it available under the help contents menu in
1326
+ # Eclipse, the contents of the directory containing the HTML and XML files needs
1327
+ # to be copied into the plugins directory of eclipse. The name of the directory
1328
+ # within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
1329
+ # After copying Eclipse needs to be restarted before the help appears.
1330
+ # The default value is: NO.
1331
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1332
+
1333
+ GENERATE_ECLIPSEHELP = NO
1334
+
1335
+ # A unique identifier for the Eclipse help plugin. When installing the plugin
1336
+ # the directory name containing the HTML and XML files should also have this
1337
+ # name. Each documentation set should have its own identifier.
1338
+ # The default value is: org.doxygen.Project.
1339
+ # This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
1340
+
1341
+ ECLIPSE_DOC_ID = org.doxygen.Project
1342
+
1343
+ # If you want full control over the layout of the generated HTML pages it might
1344
+ # be necessary to disable the index and replace it with your own. The
1345
+ # DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
1346
+ # of each HTML page. A value of NO enables the index and the value YES disables
1347
+ # it. Since the tabs in the index contain the same information as the navigation
1348
+ # tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
1349
+ # The default value is: NO.
1350
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1351
+
1352
+ DISABLE_INDEX = NO
1353
+
1354
+ # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
1355
+ # structure should be generated to display hierarchical information. If the tag
1356
+ # value is set to YES, a side panel will be generated containing a tree-like
1357
+ # index structure (just like the one that is generated for HTML Help). For this
1358
+ # to work a browser that supports JavaScript, DHTML, CSS and frames is required
1359
+ # (i.e. any modern browser). Windows users are probably better off using the
1360
+ # HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
1361
+ # further fine-tune the look of the index. As an example, the default style
1362
+ # sheet generated by doxygen has an example that shows how to put an image at
1363
+ # the root of the tree instead of the PROJECT_NAME. Since the tree basically has
1364
+ # the same information as the tab index, you could consider setting
1365
+ # DISABLE_INDEX to YES when enabling this option.
1366
+ # The default value is: NO.
1367
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1368
+
1369
+ GENERATE_TREEVIEW = NO
1370
+
1371
+ # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
1372
+ # doxygen will group on one line in the generated HTML documentation.
1373
+ #
1374
+ # Note that a value of 0 will completely suppress the enum values from appearing
1375
+ # in the overview section.
1376
+ # Minimum value: 0, maximum value: 20, default value: 4.
1377
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1378
+
1379
+ ENUM_VALUES_PER_LINE = 4
1380
+
1381
+ # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
1382
+ # to set the initial width (in pixels) of the frame in which the tree is shown.
1383
+ # Minimum value: 0, maximum value: 1500, default value: 250.
1384
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1385
+
1386
+ TREEVIEW_WIDTH = 250
1387
+
1388
+ # When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to
1389
+ # external symbols imported via tag files in a separate window.
1390
+ # The default value is: NO.
1391
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1392
+
1393
+ EXT_LINKS_IN_WINDOW = NO
1394
+
1395
+ # Use this tag to change the font size of LaTeX formulas included as images in
1396
+ # the HTML documentation. When you change the font size after a successful
1397
+ # doxygen run you need to manually remove any form_*.png images from the HTML
1398
+ # output directory to force them to be regenerated.
1399
+ # Minimum value: 8, maximum value: 50, default value: 10.
1400
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1401
+
1402
+ FORMULA_FONTSIZE = 10
1403
+
1404
+ # Use the FORMULA_TRANPARENT tag to determine whether or not the images
1405
+ # generated for formulas are transparent PNGs. Transparent PNGs are not
1406
+ # supported properly for IE 6.0, but are supported on all modern browsers.
1407
+ #
1408
+ # Note that when changing this option you need to delete any form_*.png files in
1409
+ # the HTML output directory before the changes have effect.
1410
+ # The default value is: YES.
1411
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1412
+
1413
+ FORMULA_TRANSPARENT = YES
1414
+
1415
+ # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
1416
+ # http://www.mathjax.org) which uses client side Javascript for the rendering
1417
+ # instead of using prerendered bitmaps. Use this if you do not have LaTeX
1418
+ # installed or if you want to formulas look prettier in the HTML output. When
1419
+ # enabled you may also need to install MathJax separately and configure the path
1420
+ # to it using the MATHJAX_RELPATH option.
1421
+ # The default value is: NO.
1422
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1423
+
1424
+ USE_MATHJAX = NO
1425
+
1426
+ # When MathJax is enabled you can set the default output format to be used for
1427
+ # the MathJax output. See the MathJax site (see:
1428
+ # http://docs.mathjax.org/en/latest/output.html) for more details.
1429
+ # Possible values are: HTML-CSS (which is slower, but has the best
1430
+ # compatibility), NativeMML (i.e. MathML) and SVG.
1431
+ # The default value is: HTML-CSS.
1432
+ # This tag requires that the tag USE_MATHJAX is set to YES.
1433
+
1434
+ MATHJAX_FORMAT = HTML-CSS
1435
+
1436
+ # When MathJax is enabled you need to specify the location relative to the HTML
1437
+ # output directory using the MATHJAX_RELPATH option. The destination directory
1438
+ # should contain the MathJax.js script. For instance, if the mathjax directory
1439
+ # is located at the same level as the HTML output directory, then
1440
+ # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
1441
+ # Content Delivery Network so you can quickly see the result without installing
1442
+ # MathJax. However, it is strongly recommended to install a local copy of
1443
+ # MathJax from http://www.mathjax.org before deployment.
1444
+ # The default value is: http://cdn.mathjax.org/mathjax/latest.
1445
+ # This tag requires that the tag USE_MATHJAX is set to YES.
1446
+
1447
+ MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
1448
+
1449
+ # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
1450
+ # extension names that should be enabled during MathJax rendering. For example
1451
+ # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
1452
+ # This tag requires that the tag USE_MATHJAX is set to YES.
1453
+
1454
+ MATHJAX_EXTENSIONS =
1455
+
1456
+ # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
1457
+ # of code that will be used on startup of the MathJax code. See the MathJax site
1458
+ # (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
1459
+ # example see the documentation.
1460
+ # This tag requires that the tag USE_MATHJAX is set to YES.
1461
+
1462
+ MATHJAX_CODEFILE =
1463
+
1464
+ # When the SEARCHENGINE tag is enabled doxygen will generate a search box for
1465
+ # the HTML output. The underlying search engine uses javascript and DHTML and
1466
+ # should work on any modern browser. Note that when using HTML help
1467
+ # (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
1468
+ # there is already a search function so this one should typically be disabled.
1469
+ # For large projects the javascript based search engine can be slow, then
1470
+ # enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
1471
+ # search using the keyboard; to jump to the search box use <access key> + S
1472
+ # (what the <access key> is depends on the OS and browser, but it is typically
1473
+ # <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
1474
+ # key> to jump into the search results window, the results can be navigated
1475
+ # using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
1476
+ # the search. The filter options can be selected when the cursor is inside the
1477
+ # search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
1478
+ # to select a filter and <Enter> or <escape> to activate or cancel the filter
1479
+ # option.
1480
+ # The default value is: YES.
1481
+ # This tag requires that the tag GENERATE_HTML is set to YES.
1482
+
1483
+ SEARCHENGINE = YES
1484
+
1485
+ # When the SERVER_BASED_SEARCH tag is enabled the search engine will be
1486
+ # implemented using a web server instead of a web client using Javascript. There
1487
+ # are two flavors of web server based searching depending on the EXTERNAL_SEARCH
1488
+ # setting. When disabled, doxygen will generate a PHP script for searching and
1489
+ # an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
1490
+ # and searching needs to be provided by external tools. See the section
1491
+ # "External Indexing and Searching" for details.
1492
+ # The default value is: NO.
1493
+ # This tag requires that the tag SEARCHENGINE is set to YES.
1494
+
1495
+ SERVER_BASED_SEARCH = NO
1496
+
1497
+ # When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
1498
+ # script for searching. Instead the search results are written to an XML file
1499
+ # which needs to be processed by an external indexer. Doxygen will invoke an
1500
+ # external search engine pointed to by the SEARCHENGINE_URL option to obtain the
1501
+ # search results.
1502
+ #
1503
+ # Doxygen ships with an example indexer ( doxyindexer) and search engine
1504
+ # (doxysearch.cgi) which are based on the open source search engine library
1505
+ # Xapian (see: http://xapian.org/).
1506
+ #
1507
+ # See the section "External Indexing and Searching" for details.
1508
+ # The default value is: NO.
1509
+ # This tag requires that the tag SEARCHENGINE is set to YES.
1510
+
1511
+ EXTERNAL_SEARCH = NO
1512
+
1513
+ # The SEARCHENGINE_URL should point to a search engine hosted by a web server
1514
+ # which will return the search results when EXTERNAL_SEARCH is enabled.
1515
+ #
1516
+ # Doxygen ships with an example indexer ( doxyindexer) and search engine
1517
+ # (doxysearch.cgi) which are based on the open source search engine library
1518
+ # Xapian (see: http://xapian.org/). See the section "External Indexing and
1519
+ # Searching" for details.
1520
+ # This tag requires that the tag SEARCHENGINE is set to YES.
1521
+
1522
+ SEARCHENGINE_URL =
1523
+
1524
+ # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
1525
+ # search data is written to a file for indexing by an external tool. With the
1526
+ # SEARCHDATA_FILE tag the name of this file can be specified.
1527
+ # The default file is: searchdata.xml.
1528
+ # This tag requires that the tag SEARCHENGINE is set to YES.
1529
+
1530
+ SEARCHDATA_FILE = searchdata.xml
1531
+
1532
+ # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
1533
+ # EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
1534
+ # useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
1535
+ # projects and redirect the results back to the right project.
1536
+ # This tag requires that the tag SEARCHENGINE is set to YES.
1537
+
1538
+ EXTERNAL_SEARCH_ID =
1539
+
1540
+ # The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
1541
+ # projects other than the one defined by this configuration file, but that are
1542
+ # all added to the same external search index. Each project needs to have a
1543
+ # unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
1544
+ # to a relative location where the documentation can be found. The format is:
1545
+ # EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
1546
+ # This tag requires that the tag SEARCHENGINE is set to YES.
1547
+
1548
+ EXTRA_SEARCH_MAPPINGS =
1549
+
1550
+ #---------------------------------------------------------------------------
1551
+ # Configuration options related to the LaTeX output
1552
+ #---------------------------------------------------------------------------
1553
+
1554
+ # If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.
1555
+ # The default value is: YES.
1556
+
1557
+ GENERATE_LATEX = NO
1558
+
1559
+ # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
1560
+ # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
1561
+ # it.
1562
+ # The default directory is: latex.
1563
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
1564
+
1565
+ LATEX_OUTPUT = latex
1566
+
1567
+ # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
1568
+ # invoked.
1569
+ #
1570
+ # Note that when enabling USE_PDFLATEX this option is only used for generating
1571
+ # bitmaps for formulas in the HTML output, but not in the Makefile that is
1572
+ # written to the output directory.
1573
+ # The default file is: latex.
1574
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
1575
+
1576
+ LATEX_CMD_NAME = latex
1577
+
1578
+ # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
1579
+ # index for LaTeX.
1580
+ # The default file is: makeindex.
1581
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
1582
+
1583
+ MAKEINDEX_CMD_NAME = makeindex
1584
+
1585
+ # If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX
1586
+ # documents. This may be useful for small projects and may help to save some
1587
+ # trees in general.
1588
+ # The default value is: NO.
1589
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
1590
+
1591
+ COMPACT_LATEX = NO
1592
+
1593
+ # The PAPER_TYPE tag can be used to set the paper type that is used by the
1594
+ # printer.
1595
+ # Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
1596
+ # 14 inches) and executive (7.25 x 10.5 inches).
1597
+ # The default value is: a4.
1598
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
1599
+
1600
+ PAPER_TYPE = a4wide
1601
+
1602
+ # The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
1603
+ # that should be included in the LaTeX output. To get the times font for
1604
+ # instance you can specify
1605
+ # EXTRA_PACKAGES=times
1606
+ # If left blank no extra packages will be included.
1607
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
1608
+
1609
+ EXTRA_PACKAGES =
1610
+
1611
+ # The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
1612
+ # generated LaTeX document. The header should contain everything until the first
1613
+ # chapter. If it is left blank doxygen will generate a standard header. See
1614
+ # section "Doxygen usage" for information on how to let doxygen write the
1615
+ # default header to a separate file.
1616
+ #
1617
+ # Note: Only use a user-defined header if you know what you are doing! The
1618
+ # following commands have a special meaning inside the header: $title,
1619
+ # $datetime, $date, $doxygenversion, $projectname, $projectnumber. Doxygen will
1620
+ # replace them by respectively the title of the page, the current date and time,
1621
+ # only the current date, the version number of doxygen, the project name (see
1622
+ # PROJECT_NAME), or the project number (see PROJECT_NUMBER).
1623
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
1624
+
1625
+ LATEX_HEADER =
1626
+
1627
+ # The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
1628
+ # generated LaTeX document. The footer should contain everything after the last
1629
+ # chapter. If it is left blank doxygen will generate a standard footer.
1630
+ #
1631
+ # Note: Only use a user-defined footer if you know what you are doing!
1632
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
1633
+
1634
+ LATEX_FOOTER =
1635
+
1636
+ # The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
1637
+ # other source files which should be copied to the LATEX_OUTPUT output
1638
+ # directory. Note that the files will be copied as-is; there are no commands or
1639
+ # markers available.
1640
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
1641
+
1642
+ LATEX_EXTRA_FILES =
1643
+
1644
+ # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
1645
+ # prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
1646
+ # contain links (just like the HTML output) instead of page references. This
1647
+ # makes the output suitable for online browsing using a PDF viewer.
1648
+ # The default value is: YES.
1649
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
1650
+
1651
+ PDF_HYPERLINKS = YES
1652
+
1653
+ # If the LATEX_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
1654
+ # the PDF file directly from the LaTeX files. Set this option to YES to get a
1655
+ # higher quality PDF documentation.
1656
+ # The default value is: YES.
1657
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
1658
+
1659
+ USE_PDFLATEX = YES
1660
+
1661
+ # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
1662
+ # command to the generated LaTeX files. This will instruct LaTeX to keep running
1663
+ # if errors occur, instead of asking the user for help. This option is also used
1664
+ # when generating formulas in HTML.
1665
+ # The default value is: NO.
1666
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
1667
+
1668
+ LATEX_BATCHMODE = NO
1669
+
1670
+ # If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
1671
+ # index chapters (such as File Index, Compound Index, etc.) in the output.
1672
+ # The default value is: NO.
1673
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
1674
+
1675
+ LATEX_HIDE_INDICES = NO
1676
+
1677
+ # If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
1678
+ # code with syntax highlighting in the LaTeX output.
1679
+ #
1680
+ # Note that which sources are shown also depends on other settings such as
1681
+ # SOURCE_BROWSER.
1682
+ # The default value is: NO.
1683
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
1684
+
1685
+ LATEX_SOURCE_CODE = NO
1686
+
1687
+ # The LATEX_BIB_STYLE tag can be used to specify the style to use for the
1688
+ # bibliography, e.g. plainnat, or ieeetr. See
1689
+ # http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
1690
+ # The default value is: plain.
1691
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
1692
+
1693
+ LATEX_BIB_STYLE = plain
1694
+
1695
+ #---------------------------------------------------------------------------
1696
+ # Configuration options related to the RTF output
1697
+ #---------------------------------------------------------------------------
1698
+
1699
+ # If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The
1700
+ # RTF output is optimized for Word 97 and may not look too pretty with other RTF
1701
+ # readers/editors.
1702
+ # The default value is: NO.
1703
+
1704
+ GENERATE_RTF = NO
1705
+
1706
+ # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
1707
+ # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
1708
+ # it.
1709
+ # The default directory is: rtf.
1710
+ # This tag requires that the tag GENERATE_RTF is set to YES.
1711
+
1712
+ RTF_OUTPUT = rtf
1713
+
1714
+ # If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF
1715
+ # documents. This may be useful for small projects and may help to save some
1716
+ # trees in general.
1717
+ # The default value is: NO.
1718
+ # This tag requires that the tag GENERATE_RTF is set to YES.
1719
+
1720
+ COMPACT_RTF = NO
1721
+
1722
+ # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
1723
+ # contain hyperlink fields. The RTF file will contain links (just like the HTML
1724
+ # output) instead of page references. This makes the output suitable for online
1725
+ # browsing using Word or some other Word compatible readers that support those
1726
+ # fields.
1727
+ #
1728
+ # Note: WordPad (write) and others do not support links.
1729
+ # The default value is: NO.
1730
+ # This tag requires that the tag GENERATE_RTF is set to YES.
1731
+
1732
+ RTF_HYPERLINKS = NO
1733
+
1734
+ # Load stylesheet definitions from file. Syntax is similar to doxygen's config
1735
+ # file, i.e. a series of assignments. You only have to provide replacements,
1736
+ # missing definitions are set to their default value.
1737
+ #
1738
+ # See also section "Doxygen usage" for information on how to generate the
1739
+ # default style sheet that doxygen normally uses.
1740
+ # This tag requires that the tag GENERATE_RTF is set to YES.
1741
+
1742
+ RTF_STYLESHEET_FILE =
1743
+
1744
+ # Set optional variables used in the generation of an RTF document. Syntax is
1745
+ # similar to doxygen's config file. A template extensions file can be generated
1746
+ # using doxygen -e rtf extensionFile.
1747
+ # This tag requires that the tag GENERATE_RTF is set to YES.
1748
+
1749
+ RTF_EXTENSIONS_FILE =
1750
+
1751
+ #---------------------------------------------------------------------------
1752
+ # Configuration options related to the man page output
1753
+ #---------------------------------------------------------------------------
1754
+
1755
+ # If the GENERATE_MAN tag is set to YES doxygen will generate man pages for
1756
+ # classes and files.
1757
+ # The default value is: NO.
1758
+
1759
+ GENERATE_MAN = NO
1760
+
1761
+ # The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
1762
+ # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
1763
+ # it. A directory man3 will be created inside the directory specified by
1764
+ # MAN_OUTPUT.
1765
+ # The default directory is: man.
1766
+ # This tag requires that the tag GENERATE_MAN is set to YES.
1767
+
1768
+ MAN_OUTPUT = man
1769
+
1770
+ # The MAN_EXTENSION tag determines the extension that is added to the generated
1771
+ # man pages. In case the manual section does not start with a number, the number
1772
+ # 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
1773
+ # optional.
1774
+ # The default value is: .3.
1775
+ # This tag requires that the tag GENERATE_MAN is set to YES.
1776
+
1777
+ MAN_EXTENSION = .3
1778
+
1779
+ # The MAN_SUBDIR tag determines the name of the directory created within
1780
+ # MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
1781
+ # MAN_EXTENSION with the initial . removed.
1782
+ # This tag requires that the tag GENERATE_MAN is set to YES.
1783
+
1784
+ MAN_SUBDIR =
1785
+
1786
+ # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
1787
+ # will generate one additional man file for each entity documented in the real
1788
+ # man page(s). These additional files only source the real man page, but without
1789
+ # them the man command would be unable to find the correct page.
1790
+ # The default value is: NO.
1791
+ # This tag requires that the tag GENERATE_MAN is set to YES.
1792
+
1793
+ MAN_LINKS = NO
1794
+
1795
+ #---------------------------------------------------------------------------
1796
+ # Configuration options related to the XML output
1797
+ #---------------------------------------------------------------------------
1798
+
1799
+ # If the GENERATE_XML tag is set to YES doxygen will generate an XML file that
1800
+ # captures the structure of the code including all documentation.
1801
+ # The default value is: NO.
1802
+
1803
+ GENERATE_XML = NO
1804
+
1805
+ # The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
1806
+ # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
1807
+ # it.
1808
+ # The default directory is: xml.
1809
+ # This tag requires that the tag GENERATE_XML is set to YES.
1810
+
1811
+ XML_OUTPUT = xml
1812
+
1813
+ # If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
1814
+ # listings (including syntax highlighting and cross-referencing information) to
1815
+ # the XML output. Note that enabling this will significantly increase the size
1816
+ # of the XML output.
1817
+ # The default value is: YES.
1818
+ # This tag requires that the tag GENERATE_XML is set to YES.
1819
+
1820
+ XML_PROGRAMLISTING = YES
1821
+
1822
+ #---------------------------------------------------------------------------
1823
+ # Configuration options related to the DOCBOOK output
1824
+ #---------------------------------------------------------------------------
1825
+
1826
+ # If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files
1827
+ # that can be used to generate PDF.
1828
+ # The default value is: NO.
1829
+
1830
+ GENERATE_DOCBOOK = NO
1831
+
1832
+ # The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
1833
+ # If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
1834
+ # front of it.
1835
+ # The default directory is: docbook.
1836
+ # This tag requires that the tag GENERATE_DOCBOOK is set to YES.
1837
+
1838
+ DOCBOOK_OUTPUT = docbook
1839
+
1840
+ #---------------------------------------------------------------------------
1841
+ # Configuration options for the AutoGen Definitions output
1842
+ #---------------------------------------------------------------------------
1843
+
1844
+ # If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen
1845
+ # Definitions (see http://autogen.sf.net) file that captures the structure of
1846
+ # the code including all documentation. Note that this feature is still
1847
+ # experimental and incomplete at the moment.
1848
+ # The default value is: NO.
1849
+
1850
+ GENERATE_AUTOGEN_DEF = NO
1851
+
1852
+ #---------------------------------------------------------------------------
1853
+ # Configuration options related to the Perl module output
1854
+ #---------------------------------------------------------------------------
1855
+
1856
+ # If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module
1857
+ # file that captures the structure of the code including all documentation.
1858
+ #
1859
+ # Note that this feature is still experimental and incomplete at the moment.
1860
+ # The default value is: NO.
1861
+
1862
+ GENERATE_PERLMOD = NO
1863
+
1864
+ # If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary
1865
+ # Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
1866
+ # output from the Perl module output.
1867
+ # The default value is: NO.
1868
+ # This tag requires that the tag GENERATE_PERLMOD is set to YES.
1869
+
1870
+ PERLMOD_LATEX = NO
1871
+
1872
+ # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely
1873
+ # formatted so it can be parsed by a human reader. This is useful if you want to
1874
+ # understand what is going on. On the other hand, if this tag is set to NO the
1875
+ # size of the Perl module output will be much smaller and Perl will parse it
1876
+ # just the same.
1877
+ # The default value is: YES.
1878
+ # This tag requires that the tag GENERATE_PERLMOD is set to YES.
1879
+
1880
+ PERLMOD_PRETTY = YES
1881
+
1882
+ # The names of the make variables in the generated doxyrules.make file are
1883
+ # prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
1884
+ # so different doxyrules.make files included by the same Makefile don't
1885
+ # overwrite each other's variables.
1886
+ # This tag requires that the tag GENERATE_PERLMOD is set to YES.
1887
+
1888
+ PERLMOD_MAKEVAR_PREFIX =
1889
+
1890
+ #---------------------------------------------------------------------------
1891
+ # Configuration options related to the preprocessor
1892
+ #---------------------------------------------------------------------------
1893
+
1894
+ # If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all
1895
+ # C-preprocessor directives found in the sources and include files.
1896
+ # The default value is: YES.
1897
+
1898
+ ENABLE_PREPROCESSING = YES
1899
+
1900
+ # If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names
1901
+ # in the source code. If set to NO only conditional compilation will be
1902
+ # performed. Macro expansion can be done in a controlled way by setting
1903
+ # EXPAND_ONLY_PREDEF to YES.
1904
+ # The default value is: NO.
1905
+ # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
1906
+
1907
+ MACRO_EXPANSION = NO
1908
+
1909
+ # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
1910
+ # the macro expansion is limited to the macros specified with the PREDEFINED and
1911
+ # EXPAND_AS_DEFINED tags.
1912
+ # The default value is: NO.
1913
+ # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
1914
+
1915
+ EXPAND_ONLY_PREDEF = NO
1916
+
1917
+ # If the SEARCH_INCLUDES tag is set to YES the includes files in the
1918
+ # INCLUDE_PATH will be searched if a #include is found.
1919
+ # The default value is: YES.
1920
+ # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
1921
+
1922
+ SEARCH_INCLUDES = YES
1923
+
1924
+ # The INCLUDE_PATH tag can be used to specify one or more directories that
1925
+ # contain include files that are not input files but should be processed by the
1926
+ # preprocessor.
1927
+ # This tag requires that the tag SEARCH_INCLUDES is set to YES.
1928
+
1929
+ INCLUDE_PATH =
1930
+
1931
+ # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
1932
+ # patterns (like *.h and *.hpp) to filter out the header-files in the
1933
+ # directories. If left blank, the patterns specified with FILE_PATTERNS will be
1934
+ # used.
1935
+ # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
1936
+
1937
+ INCLUDE_FILE_PATTERNS =
1938
+
1939
+ # The PREDEFINED tag can be used to specify one or more macro names that are
1940
+ # defined before the preprocessor is started (similar to the -D option of e.g.
1941
+ # gcc). The argument of the tag is a list of macros of the form: name or
1942
+ # name=definition (no spaces). If the definition and the "=" are omitted, "=1"
1943
+ # is assumed. To prevent a macro definition from being undefined via #undef or
1944
+ # recursively expanded use the := operator instead of the = operator.
1945
+ # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
1946
+
1947
+ PREDEFINED =
1948
+
1949
+ # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
1950
+ # tag can be used to specify a list of macro names that should be expanded. The
1951
+ # macro definition that is found in the sources will be used. Use the PREDEFINED
1952
+ # tag if you want to use a different macro definition that overrules the
1953
+ # definition found in the source code.
1954
+ # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
1955
+
1956
+ EXPAND_AS_DEFINED =
1957
+
1958
+ # If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
1959
+ # remove all references to function-like macros that are alone on a line, have
1960
+ # an all uppercase name, and do not end with a semicolon. Such function macros
1961
+ # are typically used for boiler-plate code, and will confuse the parser if not
1962
+ # removed.
1963
+ # The default value is: YES.
1964
+ # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
1965
+
1966
+ SKIP_FUNCTION_MACROS = YES
1967
+
1968
+ #---------------------------------------------------------------------------
1969
+ # Configuration options related to external references
1970
+ #---------------------------------------------------------------------------
1971
+
1972
+ # The TAGFILES tag can be used to specify one or more tag files. For each tag
1973
+ # file the location of the external documentation should be added. The format of
1974
+ # a tag file without this location is as follows:
1975
+ # TAGFILES = file1 file2 ...
1976
+ # Adding location for the tag files is done as follows:
1977
+ # TAGFILES = file1=loc1 "file2 = loc2" ...
1978
+ # where loc1 and loc2 can be relative or absolute paths or URLs. See the
1979
+ # section "Linking to external documentation" for more information about the use
1980
+ # of tag files.
1981
+ # Note: Each tag file must have a unique name (where the name does NOT include
1982
+ # the path). If a tag file is not located in the directory in which doxygen is
1983
+ # run, you must also specify the path to the tagfile here.
1984
+
1985
+ TAGFILES =
1986
+
1987
+ # When a file name is specified after GENERATE_TAGFILE, doxygen will create a
1988
+ # tag file that is based on the input files it reads. See section "Linking to
1989
+ # external documentation" for more information about the usage of tag files.
1990
+
1991
+ GENERATE_TAGFILE =
1992
+
1993
+ # If the ALLEXTERNALS tag is set to YES all external class will be listed in the
1994
+ # class index. If set to NO only the inherited external classes will be listed.
1995
+ # The default value is: NO.
1996
+
1997
+ ALLEXTERNALS = NO
1998
+
1999
+ # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in
2000
+ # the modules index. If set to NO, only the current project's groups will be
2001
+ # listed.
2002
+ # The default value is: YES.
2003
+
2004
+ EXTERNAL_GROUPS = YES
2005
+
2006
+ # If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in
2007
+ # the related pages index. If set to NO, only the current project's pages will
2008
+ # be listed.
2009
+ # The default value is: YES.
2010
+
2011
+ EXTERNAL_PAGES = YES
2012
+
2013
+ # The PERL_PATH should be the absolute path and name of the perl script
2014
+ # interpreter (i.e. the result of 'which perl').
2015
+ # The default file (with absolute path) is: /usr/bin/perl.
2016
+
2017
+ PERL_PATH = /usr/bin/perl
2018
+
2019
+ #---------------------------------------------------------------------------
2020
+ # Configuration options related to the dot tool
2021
+ #---------------------------------------------------------------------------
2022
+
2023
+ # If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram
2024
+ # (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
2025
+ # NO turns the diagrams off. Note that this option also works with HAVE_DOT
2026
+ # disabled, but it is recommended to install and use dot, since it yields more
2027
+ # powerful graphs.
2028
+ # The default value is: YES.
2029
+
2030
+ CLASS_DIAGRAMS = YES
2031
+
2032
+ # You can define message sequence charts within doxygen comments using the \msc
2033
+ # command. Doxygen will then run the mscgen tool (see:
2034
+ # http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
2035
+ # documentation. The MSCGEN_PATH tag allows you to specify the directory where
2036
+ # the mscgen tool resides. If left empty the tool is assumed to be found in the
2037
+ # default search path.
2038
+
2039
+ MSCGEN_PATH =
2040
+
2041
+ # You can include diagrams made with dia in doxygen documentation. Doxygen will
2042
+ # then run dia to produce the diagram and insert it in the documentation. The
2043
+ # DIA_PATH tag allows you to specify the directory where the dia binary resides.
2044
+ # If left empty dia is assumed to be found in the default search path.
2045
+
2046
+ DIA_PATH =
2047
+
2048
+ # If set to YES, the inheritance and collaboration graphs will hide inheritance
2049
+ # and usage relations if the target is undocumented or is not a class.
2050
+ # The default value is: YES.
2051
+
2052
+ HIDE_UNDOC_RELATIONS = YES
2053
+
2054
+ # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
2055
+ # available from the path. This tool is part of Graphviz (see:
2056
+ # http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
2057
+ # Bell Labs. The other options in this section have no effect if this option is
2058
+ # set to NO
2059
+ # The default value is: NO.
2060
+
2061
+ HAVE_DOT = NO
2062
+
2063
+ # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
2064
+ # to run in parallel. When set to 0 doxygen will base this on the number of
2065
+ # processors available in the system. You can set it explicitly to a value
2066
+ # larger than 0 to get control over the balance between CPU load and processing
2067
+ # speed.
2068
+ # Minimum value: 0, maximum value: 32, default value: 0.
2069
+ # This tag requires that the tag HAVE_DOT is set to YES.
2070
+
2071
+ DOT_NUM_THREADS = 0
2072
+
2073
+ # When you want a differently looking font n the dot files that doxygen
2074
+ # generates you can specify the font name using DOT_FONTNAME. You need to make
2075
+ # sure dot is able to find the font, which can be done by putting it in a
2076
+ # standard location or by setting the DOTFONTPATH environment variable or by
2077
+ # setting DOT_FONTPATH to the directory containing the font.
2078
+ # The default value is: Helvetica.
2079
+ # This tag requires that the tag HAVE_DOT is set to YES.
2080
+
2081
+ #DOT_FONTNAME = FreeSans
2082
+
2083
+ # The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
2084
+ # dot graphs.
2085
+ # Minimum value: 4, maximum value: 24, default value: 10.
2086
+ # This tag requires that the tag HAVE_DOT is set to YES.
2087
+
2088
+ DOT_FONTSIZE = 10
2089
+
2090
+ # By default doxygen will tell dot to use the default font as specified with
2091
+ # DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
2092
+ # the path where dot can find it using this tag.
2093
+ # This tag requires that the tag HAVE_DOT is set to YES.
2094
+
2095
+ DOT_FONTPATH =
2096
+
2097
+ # If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
2098
+ # each documented class showing the direct and indirect inheritance relations.
2099
+ # Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
2100
+ # The default value is: YES.
2101
+ # This tag requires that the tag HAVE_DOT is set to YES.
2102
+
2103
+ CLASS_GRAPH = YES
2104
+
2105
+ # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
2106
+ # graph for each documented class showing the direct and indirect implementation
2107
+ # dependencies (inheritance, containment, and class references variables) of the
2108
+ # class with other documented classes.
2109
+ # The default value is: YES.
2110
+ # This tag requires that the tag HAVE_DOT is set to YES.
2111
+
2112
+ COLLABORATION_GRAPH = YES
2113
+
2114
+ # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
2115
+ # groups, showing the direct groups dependencies.
2116
+ # The default value is: YES.
2117
+ # This tag requires that the tag HAVE_DOT is set to YES.
2118
+
2119
+ GROUP_GRAPHS = YES
2120
+
2121
+ # If the UML_LOOK tag is set to YES doxygen will generate inheritance and
2122
+ # collaboration diagrams in a style similar to the OMG's Unified Modeling
2123
+ # Language.
2124
+ # The default value is: NO.
2125
+ # This tag requires that the tag HAVE_DOT is set to YES.
2126
+
2127
+ UML_LOOK = NO
2128
+
2129
+ # If the UML_LOOK tag is enabled, the fields and methods are shown inside the
2130
+ # class node. If there are many fields or methods and many nodes the graph may
2131
+ # become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
2132
+ # number of items for each type to make the size more manageable. Set this to 0
2133
+ # for no limit. Note that the threshold may be exceeded by 50% before the limit
2134
+ # is enforced. So when you set the threshold to 10, up to 15 fields may appear,
2135
+ # but if the number exceeds 15, the total amount of fields shown is limited to
2136
+ # 10.
2137
+ # Minimum value: 0, maximum value: 100, default value: 10.
2138
+ # This tag requires that the tag HAVE_DOT is set to YES.
2139
+
2140
+ UML_LIMIT_NUM_FIELDS = 10
2141
+
2142
+ # If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
2143
+ # collaboration graphs will show the relations between templates and their
2144
+ # instances.
2145
+ # The default value is: NO.
2146
+ # This tag requires that the tag HAVE_DOT is set to YES.
2147
+
2148
+ TEMPLATE_RELATIONS = NO
2149
+
2150
+ # If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
2151
+ # YES then doxygen will generate a graph for each documented file showing the
2152
+ # direct and indirect include dependencies of the file with other documented
2153
+ # files.
2154
+ # The default value is: YES.
2155
+ # This tag requires that the tag HAVE_DOT is set to YES.
2156
+
2157
+ INCLUDE_GRAPH = YES
2158
+
2159
+ # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
2160
+ # set to YES then doxygen will generate a graph for each documented file showing
2161
+ # the direct and indirect include dependencies of the file with other documented
2162
+ # files.
2163
+ # The default value is: YES.
2164
+ # This tag requires that the tag HAVE_DOT is set to YES.
2165
+
2166
+ INCLUDED_BY_GRAPH = YES
2167
+
2168
+ # If the CALL_GRAPH tag is set to YES then doxygen will generate a call
2169
+ # dependency graph for every global function or class method.
2170
+ #
2171
+ # Note that enabling this option will significantly increase the time of a run.
2172
+ # So in most cases it will be better to enable call graphs for selected
2173
+ # functions only using the \callgraph command.
2174
+ # The default value is: NO.
2175
+ # This tag requires that the tag HAVE_DOT is set to YES.
2176
+
2177
+ CALL_GRAPH = NO
2178
+
2179
+ # If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
2180
+ # dependency graph for every global function or class method.
2181
+ #
2182
+ # Note that enabling this option will significantly increase the time of a run.
2183
+ # So in most cases it will be better to enable caller graphs for selected
2184
+ # functions only using the \callergraph command.
2185
+ # The default value is: NO.
2186
+ # This tag requires that the tag HAVE_DOT is set to YES.
2187
+
2188
+ CALLER_GRAPH = NO
2189
+
2190
+ # If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
2191
+ # hierarchy of all classes instead of a textual one.
2192
+ # The default value is: YES.
2193
+ # This tag requires that the tag HAVE_DOT is set to YES.
2194
+
2195
+ GRAPHICAL_HIERARCHY = YES
2196
+
2197
+ # If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
2198
+ # dependencies a directory has on other directories in a graphical way. The
2199
+ # dependency relations are determined by the #include relations between the
2200
+ # files in the directories.
2201
+ # The default value is: YES.
2202
+ # This tag requires that the tag HAVE_DOT is set to YES.
2203
+
2204
+ DIRECTORY_GRAPH = YES
2205
+
2206
+ # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
2207
+ # generated by dot.
2208
+ # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
2209
+ # to make the SVG files visible in IE 9+ (other browsers do not have this
2210
+ # requirement).
2211
+ # Possible values are: png, jpg, gif and svg.
2212
+ # The default value is: png.
2213
+ # This tag requires that the tag HAVE_DOT is set to YES.
2214
+
2215
+ DOT_IMAGE_FORMAT = png
2216
+
2217
+ # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
2218
+ # enable generation of interactive SVG images that allow zooming and panning.
2219
+ #
2220
+ # Note that this requires a modern browser other than Internet Explorer. Tested
2221
+ # and working are Firefox, Chrome, Safari, and Opera.
2222
+ # Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
2223
+ # the SVG files visible. Older versions of IE do not have SVG support.
2224
+ # The default value is: NO.
2225
+ # This tag requires that the tag HAVE_DOT is set to YES.
2226
+
2227
+ INTERACTIVE_SVG = NO
2228
+
2229
+ # The DOT_PATH tag can be used to specify the path where the dot tool can be
2230
+ # found. If left blank, it is assumed the dot tool can be found in the path.
2231
+ # This tag requires that the tag HAVE_DOT is set to YES.
2232
+
2233
+ DOT_PATH =
2234
+
2235
+ # The DOTFILE_DIRS tag can be used to specify one or more directories that
2236
+ # contain dot files that are included in the documentation (see the \dotfile
2237
+ # command).
2238
+ # This tag requires that the tag HAVE_DOT is set to YES.
2239
+
2240
+ DOTFILE_DIRS =
2241
+
2242
+ # The MSCFILE_DIRS tag can be used to specify one or more directories that
2243
+ # contain msc files that are included in the documentation (see the \mscfile
2244
+ # command).
2245
+
2246
+ MSCFILE_DIRS =
2247
+
2248
+ # The DIAFILE_DIRS tag can be used to specify one or more directories that
2249
+ # contain dia files that are included in the documentation (see the \diafile
2250
+ # command).
2251
+
2252
+ DIAFILE_DIRS =
2253
+
2254
+ # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
2255
+ # that will be shown in the graph. If the number of nodes in a graph becomes
2256
+ # larger than this value, doxygen will truncate the graph, which is visualized
2257
+ # by representing a node as a red box. Note that doxygen if the number of direct
2258
+ # children of the root node in a graph is already larger than
2259
+ # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
2260
+ # the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
2261
+ # Minimum value: 0, maximum value: 10000, default value: 50.
2262
+ # This tag requires that the tag HAVE_DOT is set to YES.
2263
+
2264
+ DOT_GRAPH_MAX_NODES = 50
2265
+
2266
+ # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
2267
+ # generated by dot. A depth value of 3 means that only nodes reachable from the
2268
+ # root by following a path via at most 3 edges will be shown. Nodes that lay
2269
+ # further from the root node will be omitted. Note that setting this option to 1
2270
+ # or 2 may greatly reduce the computation time needed for large code bases. Also
2271
+ # note that the size of a graph can be further restricted by
2272
+ # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
2273
+ # Minimum value: 0, maximum value: 1000, default value: 0.
2274
+ # This tag requires that the tag HAVE_DOT is set to YES.
2275
+
2276
+ MAX_DOT_GRAPH_DEPTH = 0
2277
+
2278
+ # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
2279
+ # background. This is disabled by default, because dot on Windows does not seem
2280
+ # to support this out of the box.
2281
+ #
2282
+ # Warning: Depending on the platform used, enabling this option may lead to
2283
+ # badly anti-aliased labels on the edges of a graph (i.e. they become hard to
2284
+ # read).
2285
+ # The default value is: NO.
2286
+ # This tag requires that the tag HAVE_DOT is set to YES.
2287
+
2288
+ DOT_TRANSPARENT = NO
2289
+
2290
+ # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
2291
+ # files in one run (i.e. multiple -o and -T options on the command line). This
2292
+ # makes dot run faster, but since only newer versions of dot (>1.8.10) support
2293
+ # this, this feature is disabled by default.
2294
+ # The default value is: NO.
2295
+ # This tag requires that the tag HAVE_DOT is set to YES.
2296
+
2297
+ DOT_MULTI_TARGETS = NO
2298
+
2299
+ # If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
2300
+ # explaining the meaning of the various boxes and arrows in the dot generated
2301
+ # graphs.
2302
+ # The default value is: YES.
2303
+ # This tag requires that the tag HAVE_DOT is set to YES.
2304
+
2305
+ GENERATE_LEGEND = YES
2306
+
2307
+ # If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot
2308
+ # files that are used to generate the various graphs.
2309
+ # The default value is: YES.
2310
+ # This tag requires that the tag HAVE_DOT is set to YES.
2311
+
2312
+ DOT_CLEANUP = YES