├── .circleci └── config.yml ├── .gitattributes ├── .github └── FUNDING.yml ├── .gitignore ├── CHANGELOG.md ├── CMakeLists.txt ├── CODE_OF_CONDUCT.md ├── Introduction.md ├── LICENSE ├── README.md ├── bench ├── CMakeLists.txt ├── bench-large-pod-search.cpp └── bench-large-pod.cpp ├── branding └── logo.svg ├── cmake ├── in-source-guard.cmake ├── install-rules.cmake └── variables.cmake ├── docs ├── _c_h_a_n_g_e_l_o_g_8md.html ├── _c_o_d_e___o_f___c_o_n_d_u_c_t_8md.html ├── _introduction_8md.html ├── _r_e_a_d_m_e_8md.html ├── annotated.html ├── annotated_dup.js ├── bc_s.png ├── bdwn.png ├── classes.html ├── classrefl_1_1descriptor_1_1field__descriptor-members.html ├── classrefl_1_1descriptor_1_1field__descriptor.html ├── classrefl_1_1descriptor_1_1field__descriptor.js ├── classrefl_1_1descriptor_1_1function__descriptor-members.html ├── classrefl_1_1descriptor_1_1function__descriptor.html ├── classrefl_1_1descriptor_1_1function__descriptor.js ├── classrefl_1_1descriptor_1_1member__descriptor__base-members.html ├── classrefl_1_1descriptor_1_1member__descriptor__base.html ├── classrefl_1_1descriptor_1_1member__descriptor__base.js ├── classrefl_1_1descriptor_1_1type__descriptor-members.html ├── classrefl_1_1descriptor_1_1type__descriptor.html ├── classrefl_1_1descriptor_1_1type__descriptor.js ├── closed.png ├── deprecated.html ├── dir_d44c64559bbebec7f509842c48db8b23.html ├── dir_d44c64559bbebec7f509842c48db8b23.js ├── doc.png ├── doxygen.css ├── doxygen.png ├── dynsections.js ├── files.html ├── files_dup.js ├── folderclosed.png ├── folderopen.png ├── functions.html ├── functions_func.html ├── functions_type.html ├── functions_vars.html ├── globals.html ├── globals_defs.html ├── hierarchy.html ├── hierarchy.js ├── index.html ├── jquery.js ├── md__c_h_a_n_g_e_l_o_g.html ├── md__c_o_d_e__o_f__c_o_n_d_u_c_t.html ├── md__introduction.html ├── md__r_e_a_d_m_e.html ├── namespacemembers.html ├── namespacemembers_func.html ├── namespacemembers_type.html ├── namespacemembers_vars.html ├── namespacerefl.html ├── namespacerefl.js ├── namespacerefl_1_1attr.html ├── namespacerefl_1_1attr.js ├── namespacerefl_1_1attr_1_1usage.html ├── namespacerefl_1_1attr_1_1usage.js ├── namespacerefl_1_1descriptor.html ├── namespacerefl_1_1descriptor.js ├── namespacerefl_1_1member.html ├── namespacerefl_1_1member.js ├── namespacerefl_1_1runtime.html ├── namespacerefl_1_1runtime.js ├── namespacerefl_1_1trait.html ├── namespacerefl_1_1trait.js ├── namespacerefl_1_1util.html ├── namespacerefl_1_1util.js ├── namespaces.html ├── namespaces_dup.js ├── nav_f.png ├── nav_g.png ├── nav_h.png ├── navtree.css ├── navtree.js ├── navtreedata.js ├── navtreeindex0.js ├── navtreeindex1.js ├── open.png ├── pages.html ├── refl_8hpp.html ├── refl_8hpp.js ├── refl_8hpp_source.html ├── resize.js ├── search │ ├── all_0.html │ ├── all_0.js │ ├── all_1.html │ ├── all_1.js │ ├── all_10.html │ ├── all_10.js │ ├── all_11.html │ ├── all_11.js │ ├── all_12.html │ ├── all_12.js │ ├── all_2.html │ ├── all_2.js │ ├── all_3.html │ ├── all_3.js │ ├── all_4.html │ ├── all_4.js │ ├── all_5.html │ ├── all_5.js │ ├── all_6.html │ ├── all_6.js │ ├── all_7.html │ ├── all_7.js │ ├── all_8.html │ ├── all_8.js │ ├── all_9.html │ ├── all_9.js │ ├── all_a.html │ ├── all_a.js │ ├── all_b.html │ ├── all_b.js │ ├── all_c.html │ ├── all_c.js │ ├── all_d.html │ ├── all_d.js │ ├── all_e.html │ ├── all_e.js │ ├── all_f.html │ ├── all_f.js │ ├── classes_0.html │ ├── classes_0.js │ ├── classes_1.html │ ├── classes_1.js │ ├── classes_2.html │ ├── classes_2.js │ ├── classes_3.html │ ├── classes_3.js │ ├── classes_4.html │ ├── classes_4.js │ ├── classes_5.html │ ├── classes_5.js │ ├── classes_6.html │ ├── classes_6.js │ ├── classes_7.html │ ├── classes_7.js │ ├── classes_8.html │ ├── classes_8.js │ ├── classes_9.html │ ├── classes_9.js │ ├── classes_a.html │ ├── classes_a.js │ ├── classes_b.html │ ├── classes_b.js │ ├── classes_c.html │ ├── classes_c.js │ ├── close.png │ ├── defines_0.html │ ├── defines_0.js │ ├── files_0.html │ ├── files_0.js │ ├── files_1.html │ ├── files_1.js │ ├── files_2.html │ ├── files_2.js │ ├── functions_0.html │ ├── functions_0.js │ ├── functions_1.html │ ├── functions_1.js │ ├── functions_2.html │ ├── functions_2.js │ ├── functions_3.html │ ├── functions_3.js │ ├── functions_4.html │ ├── functions_4.js │ ├── functions_5.html │ ├── functions_5.js │ ├── functions_6.html │ ├── functions_6.js │ ├── functions_7.html │ ├── functions_7.js │ ├── functions_8.html │ ├── functions_8.js │ ├── functions_9.html │ ├── functions_9.js │ ├── functions_a.html │ ├── functions_a.js │ ├── functions_b.html │ ├── functions_b.js │ ├── functions_c.html │ ├── functions_c.js │ ├── functions_d.html │ ├── functions_d.js │ ├── mag_sel.png │ ├── namespaces_0.html │ ├── namespaces_0.js │ ├── nomatches.html │ ├── pages_0.html │ ├── pages_0.js │ ├── pages_1.html │ ├── pages_1.js │ ├── pages_2.html │ ├── pages_2.js │ ├── pages_3.html │ ├── pages_3.js │ ├── search.css │ ├── search.js │ ├── search_l.png │ ├── search_m.png │ ├── search_r.png │ ├── searchdata.js │ ├── typedefs_0.html │ ├── typedefs_0.js │ ├── typedefs_1.html │ ├── typedefs_1.js │ ├── typedefs_2.html │ ├── typedefs_2.js │ ├── typedefs_3.html │ ├── typedefs_3.js │ ├── typedefs_4.html │ ├── typedefs_4.js │ ├── typedefs_5.html │ ├── typedefs_5.js │ ├── typedefs_6.html │ ├── typedefs_6.js │ ├── typedefs_7.html │ ├── typedefs_7.js │ ├── typedefs_8.html │ ├── typedefs_8.js │ ├── typedefs_9.html │ ├── typedefs_9.js │ ├── typedefs_a.html │ ├── typedefs_a.js │ ├── typedefs_b.html │ ├── typedefs_b.js │ ├── typedefs_c.html │ ├── typedefs_c.js │ ├── typedefs_d.html │ ├── typedefs_d.js │ ├── typedefs_e.html │ ├── typedefs_e.js │ ├── variables_0.html │ ├── variables_0.js │ ├── variables_1.html │ ├── variables_1.js │ ├── variables_2.html │ ├── variables_2.js │ ├── variables_3.html │ ├── variables_3.js │ ├── variables_4.html │ ├── variables_4.js │ ├── variables_5.html │ ├── variables_5.js │ ├── variables_6.html │ ├── variables_6.js │ ├── variables_7.html │ ├── variables_7.js │ ├── variables_8.html │ ├── variables_8.js │ ├── variables_9.html │ ├── variables_9.js │ ├── variables_a.html │ ├── variables_a.js │ ├── variables_b.html │ └── variables_b.js ├── splitbar.png ├── structrefl_1_1attr_1_1base__types-members.html ├── structrefl_1_1attr_1_1base__types.html ├── structrefl_1_1attr_1_1base__types.js ├── structrefl_1_1attr_1_1debug-members.html ├── structrefl_1_1attr_1_1debug.html ├── structrefl_1_1attr_1_1debug.js ├── structrefl_1_1attr_1_1property-members.html ├── structrefl_1_1attr_1_1property.html ├── structrefl_1_1attr_1_1property.js ├── structrefl_1_1attr_1_1usage_1_1any.html ├── structrefl_1_1attr_1_1usage_1_1field.html ├── structrefl_1_1attr_1_1usage_1_1function.html ├── structrefl_1_1attr_1_1usage_1_1member.html ├── structrefl_1_1attr_1_1usage_1_1type.html ├── structrefl_1_1member_1_1field.html ├── structrefl_1_1member_1_1function.html ├── structrefl_1_1runtime_1_1proxy-members.html ├── structrefl_1_1runtime_1_1proxy.html ├── structrefl_1_1runtime_1_1proxy.js ├── structrefl_1_1trait_1_1append.html ├── structrefl_1_1trait_1_1as__tuple_3_01_t_3_01_ts_8_8_8_01_4_01_4-members.html ├── structrefl_1_1trait_1_1as__tuple_3_01_t_3_01_ts_8_8_8_01_4_01_4.html ├── structrefl_1_1trait_1_1as__tuple_3_01_t_3_01_ts_8_8_8_01_4_01_4.js ├── structrefl_1_1trait_1_1as__type__list_3_01_t_3_01_ts_8_8_8_01_4_01_4-members.html ├── structrefl_1_1trait_1_1as__type__list_3_01_t_3_01_ts_8_8_8_01_4_01_4.html ├── structrefl_1_1trait_1_1as__type__list_3_01_t_3_01_ts_8_8_8_01_4_01_4.js ├── structrefl_1_1trait_1_1concat.html ├── structrefl_1_1trait_1_1contains_3_01_t_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html ├── structrefl_1_1trait_1_1contains__base_3_01_t_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html ├── structrefl_1_1trait_1_1contains__instance_3_01_t_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html ├── structrefl_1_1trait_1_1filter_3_01_predicate_00_01type__list_3_01_ts_8_8_8_01_4_01_4-members.html ├── structrefl_1_1trait_1_1filter_3_01_predicate_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html ├── structrefl_1_1trait_1_1filter_3_01_predicate_00_01type__list_3_01_ts_8_8_8_01_4_01_4.js ├── structrefl_1_1trait_1_1get_3_01_n_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html ├── structrefl_1_1trait_1_1index__of_3_01_t_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html ├── structrefl_1_1trait_1_1index__of__base_3_01_t_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html ├── structrefl_1_1trait_1_1index__of__instance_3_01_t_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html ├── structrefl_1_1trait_1_1is__container.html ├── structrefl_1_1trait_1_1is__descriptor.html ├── structrefl_1_1trait_1_1is__field.html ├── structrefl_1_1trait_1_1is__function.html ├── structrefl_1_1trait_1_1is__instance.html ├── structrefl_1_1trait_1_1is__instance__of.html ├── structrefl_1_1trait_1_1is__member.html ├── structrefl_1_1trait_1_1is__property.html ├── structrefl_1_1trait_1_1is__proxy-members.html ├── structrefl_1_1trait_1_1is__proxy.html ├── structrefl_1_1trait_1_1is__reflectable.html ├── structrefl_1_1trait_1_1is__type.html ├── structrefl_1_1trait_1_1map_3_01_mapper_00_01type__list_3_01_ts_8_8_8_01_4_01_4-members.html ├── structrefl_1_1trait_1_1map_3_01_mapper_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html ├── structrefl_1_1trait_1_1map_3_01_mapper_00_01type__list_3_01_ts_8_8_8_01_4_01_4.js ├── structrefl_1_1trait_1_1prepend.html ├── structrefl_1_1trait_1_1remove__qualifiers-members.html ├── structrefl_1_1trait_1_1remove__qualifiers.html ├── structrefl_1_1trait_1_1remove__qualifiers.js ├── structrefl_1_1trait_1_1reverse.html ├── structrefl_1_1trait_1_1skip_3_01_n_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html ├── structrefl_1_1trait_1_1unique.html ├── structrefl_1_1util_1_1const__string-members.html ├── structrefl_1_1util_1_1const__string.html ├── structrefl_1_1util_1_1const__string.js ├── structrefl_1_1util_1_1type__list-members.html ├── structrefl_1_1util_1_1type__list.html ├── structrefl_1_1util_1_1type__list_3_01_t_01_4-members.html ├── structrefl_1_1util_1_1type__list_3_01_t_01_4.html ├── structrefl_1_1util_1_1type__list_3_01_t_01_4.js ├── sync_off.png ├── sync_on.png ├── tab_a.png ├── tab_b.png ├── tab_h.png ├── tab_s.png └── tabs.css ├── doxygen └── Doxyfile ├── examples ├── CMakeLists.txt ├── README.md ├── example-binding.cpp ├── example-builders.cpp ├── example-custom-rtti.cpp ├── example-dao.cpp ├── example-inheritance.cpp ├── example-macro.cpp ├── example-partials.cpp ├── example-proxy.cpp ├── example-serialization.cpp └── example-struct-of-arrays.cpp ├── include └── refl.hpp ├── screenshots ├── builders.png └── introspection.png └── test ├── 010-TestCase.cpp ├── 020-ConstString.hpp ├── 030-TypeList.hpp ├── 040-TypeTraits.hpp ├── 050-Attributes.hpp ├── 060-Utils.hpp ├── 070-Descriptors.hpp ├── 080-Runtime.hpp ├── 090-StdTypes.hpp ├── CMakeLists.txt └── extern └── catch2 └── catch.hpp /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | version: 2.1 2 | 3 | executors: 4 | gcc8: 5 | docker: 6 | - image: ubuntu:18.04 7 | environment: 8 | CXX_PACKAGE: g++-8 9 | CXX: /usr/bin/g++-8 10 | CC: /usr/bin/gcc-8 11 | gcc7: 12 | docker: 13 | - image: ubuntu:18.04 14 | environment: 15 | CXX_PACKAGE: g++-7 16 | CXX: /usr/bin/g++-7 17 | CC: /usr/bin/gcc-7 18 | clang10: 19 | docker: 20 | - image: ubuntu:18.04 21 | environment: 22 | CXX_PACKAGE: clang-10 23 | CXX: clang++-10 24 | CC: clang-10 25 | CONFIG_FLAGS: -D CMAKE_CXX_EXTENSIONS=OFF 26 | clang5: 27 | docker: 28 | - image: ubuntu:18.04 29 | environment: 30 | CXX_PACKAGE: clang-5.0 31 | CXX: clang++-5.0 32 | CC: clang-5.0 33 | CONFIG_FLAGS: -D CMAKE_CXX_EXTENSIONS=OFF 34 | 35 | commands: 36 | install_core_packages: 37 | steps: 38 | - run: apt-get update -qq 39 | - run: apt-get install -y --no-install-recommends git lsb-release 40 | apt-transport-https ca-certificates gnupg software-properties-common 41 | wget 42 | add_cmake_apt_repo: 43 | steps: 44 | - run: wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 45 | 2>/dev/null | gpg --dearmor - > /etc/apt/trusted.gpg.d/kitware.gpg 46 | - run: apt-add-repository 47 | "deb https://apt.kitware.com/ubuntu/ $(lsb_release -sc) main" 48 | install_build_packages: 49 | steps: 50 | - run: apt-get install -y --no-install-recommends $CXX_PACKAGE cmake 51 | ninja-build 52 | 53 | configure: 54 | parameters: 55 | build_type: { type: string } 56 | steps: 57 | - run: cmake -S . -B build -G Ninja $CONFIG_FLAGS 58 | -D CMAKE_BUILD_TYPE=<> 59 | build: 60 | steps: 61 | - run: cmake --build build 62 | test: 63 | steps: 64 | - run: 65 | command: ctest --output-on-failure 66 | working_directory: build 67 | 68 | jobs: 69 | build_latest_cpp17: 70 | parameters: 71 | docker: { type: string } 72 | build_type: { type: string } 73 | executor: <> 74 | steps: 75 | - install_core_packages 76 | - add_cmake_apt_repo 77 | - install_build_packages 78 | - checkout 79 | - configure: { build_type: <> } 80 | - build 81 | - test 82 | 83 | workflows: 84 | build_and_test: 85 | jobs: 86 | - build_latest_cpp17: 87 | matrix: 88 | parameters: 89 | docker: [gcc7, gcc8, clang5, clang10] 90 | build_type: [Release] 91 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | docs/** binary 3 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # veselink1 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: ['https://www.paypal.com/donate/?hosted_button_id=TTR5538T85QJE'] 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Precompiled Headers 11 | *.gch 12 | *.pch 13 | 14 | # Compiled Dynamic libraries 15 | *.so 16 | *.dylib 17 | *.dll 18 | 19 | # Fortran module files 20 | *.mod 21 | *.smod 22 | 23 | # Compiled Static libraries 24 | *.lai 25 | *.la 26 | *.a 27 | *.lib 28 | 29 | # Executables 30 | *.exe 31 | *.out 32 | *.app 33 | 34 | # Annoying OS Generated Files 35 | .DS_Store 36 | .DS_Store? 37 | ._* 38 | .Spotlight-V100 39 | .Trashes 40 | ehthumbs.db 41 | Thumbs.db 42 | .directory 43 | *~ 44 | 45 | # IDE files 46 | .vs/ 47 | .idea/ 48 | .vscode/ 49 | language.settings.xml 50 | **/**.swp 51 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.14) 2 | 3 | project( 4 | refl-cpp 5 | VERSION 0.12.1 6 | DESCRIPTION "A modern compile-time reflection library for C++ with support for overloads, templates, attributes and proxies" 7 | HOMEPAGE_URL "https://github.com/veselink1/refl-cpp" 8 | LANGUAGES CXX 9 | ) 10 | 11 | include(cmake/in-source-guard.cmake) 12 | include(cmake/variables.cmake) 13 | 14 | # ---- Declare library ---- 15 | 16 | add_library(refl-cpp INTERFACE) 17 | add_library(refl-cpp::refl-cpp ALIAS refl-cpp) 18 | 19 | target_include_directories( 20 | refl-cpp 21 | ${refl-cpp_warning_guard} 22 | INTERFACE 23 | "$" 24 | ) 25 | 26 | target_compile_features(refl-cpp INTERFACE cxx_std_17) 27 | if (MSVC) 28 | add_compile_options(/W4) 29 | else() 30 | add_compile_options(-Wall -Wextra -pedantic) 31 | endif() 32 | # ---- Install ---- 33 | 34 | include(cmake/install-rules.cmake) 35 | 36 | # ---- Developer mode ---- 37 | 38 | if(NOT refl-cpp_DEVELOPER_MODE) 39 | return() 40 | elseif(NOT PROJECT_IS_TOP_LEVEL) 41 | message(AUTHOR_WARNING "Developer mode is for developers of refl-cpp") 42 | endif() 43 | 44 | include(CTest) 45 | if(BUILD_TESTING) 46 | add_subdirectory(test) 47 | endif() 48 | 49 | option(BUILD_EXAMPLES "Build the examples tree." ON) 50 | if(BUILD_EXAMPLES) 51 | add_subdirectory(examples) 52 | endif() 53 | 54 | option(BUILD_BENCHES "Build the bench tree." OFF) 55 | if(BUILD_BENCHES) 56 | add_subdirectory(bench) 57 | endif() 58 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Veselin Karaganev 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /bench/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.14) 2 | 3 | project(refl-cpp-bench CXX) 4 | 5 | if(refl-cpp_EXAMPLES_USE_INSTALLED) 6 | find_package(refl-cpp REQUIRED) 7 | endif() 8 | 9 | set( 10 | benches 11 | large-pod 12 | large-pod-search 13 | ) 14 | 15 | foreach(bench IN LISTS benches) 16 | add_executable("${bench}" "bench-${bench}.cpp") 17 | target_link_libraries("${bench}" PRIVATE refl-cpp::refl-cpp) 18 | target_compile_features("${bench}" PRIVATE cxx_std_17) 19 | endforeach() 20 | -------------------------------------------------------------------------------- /cmake/in-source-guard.cmake: -------------------------------------------------------------------------------- 1 | if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR) 2 | message(FATAL_ERROR "\ 3 | FATAL: In-source builds are not supported. \n\ 4 | Make a new directory (e.g., 'build/'), and run CMake from there. \ 5 | You may need to delete 'CMakeCache.txt' and 'CMakeFiles/'.") 6 | endif() 7 | -------------------------------------------------------------------------------- /cmake/install-rules.cmake: -------------------------------------------------------------------------------- 1 | if(PROJECT_IS_TOP_LEVEL) 2 | set(CMAKE_INSTALL_INCLUDEDIR include/refl-cpp CACHE PATH "") 3 | endif() 4 | 5 | include(CMakePackageConfigHelpers) 6 | include(GNUInstallDirs) 7 | 8 | install( 9 | DIRECTORY "${PROJECT_SOURCE_DIR}/include/" 10 | DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" 11 | COMPONENT refl-cpp_Development 12 | ) 13 | 14 | install( 15 | TARGETS refl-cpp 16 | EXPORT refl-cppTargets 17 | INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" 18 | ) 19 | 20 | write_basic_package_version_file( 21 | refl-cpp-config-version.cmake 22 | COMPATIBILITY SameMajorVersion 23 | ARCH_INDEPENDENT 24 | ) 25 | 26 | set( 27 | refl-cpp_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/refl-cpp" 28 | CACHE STRING "CMake package config location relative to the install prefix" 29 | ) 30 | mark_as_advanced(refl-cpp_INSTALL_CMAKEDIR) 31 | 32 | install( 33 | FILES "${PROJECT_BINARY_DIR}/refl-cpp-config-version.cmake" 34 | DESTINATION "${refl-cpp_INSTALL_CMAKEDIR}" 35 | COMPONENT refl-cpp_Development 36 | ) 37 | 38 | install( 39 | EXPORT refl-cppTargets 40 | FILE refl-cpp-config.cmake 41 | NAMESPACE refl-cpp:: 42 | DESTINATION "${refl-cpp_INSTALL_CMAKEDIR}" 43 | COMPONENT refl-cpp_Development 44 | ) 45 | 46 | if(PROJECT_IS_TOP_LEVEL) 47 | include(CPack) 48 | endif() 49 | -------------------------------------------------------------------------------- /cmake/variables.cmake: -------------------------------------------------------------------------------- 1 | string( 2 | COMPARE EQUAL 3 | "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}" 4 | PROJECT_IS_TOP_LEVEL 5 | ) 6 | 7 | # ---- Developer mode ---- 8 | 9 | if(PROJECT_IS_TOP_LEVEL) 10 | option(refl-cpp_DEVELOPER_MODE "Enable developer mode" OFF) 11 | 12 | if("$ENV{CI}") 13 | set(refl-cpp_DEVELOPER_MODE ON CACHE INTERNAL "") 14 | endif() 15 | endif() 16 | 17 | # ---- Warning guard ---- 18 | 19 | # Protect dependents from this project's warnings if the guard isn't disabled 20 | set(refl-cpp_warning_guard SYSTEM) 21 | if(PROJECT_IS_TOP_LEVEL OR refl-cpp_INCLUDE_WITHOUT_SYSTEM) 22 | set(refl-cpp_warning_guard "") 23 | endif() 24 | -------------------------------------------------------------------------------- /docs/annotated_dup.js: -------------------------------------------------------------------------------- 1 | var annotated_dup = 2 | [ 3 | [ "refl", "namespacerefl.html", "namespacerefl" ] 4 | ]; -------------------------------------------------------------------------------- /docs/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/bc_s.png -------------------------------------------------------------------------------- /docs/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/bdwn.png -------------------------------------------------------------------------------- /docs/classrefl_1_1descriptor_1_1field__descriptor.js: -------------------------------------------------------------------------------- 1 | var classrefl_1_1descriptor_1_1field__descriptor = 2 | [ 3 | [ "value_type", "classrefl_1_1descriptor_1_1field__descriptor.html#afcc7c5c7e2ee1a67cab3a6b526d092d2", null ], 4 | [ "operator()", "classrefl_1_1descriptor_1_1field__descriptor.html#af003db500839f3ca03b9408bcf76b009", null ] 5 | ]; -------------------------------------------------------------------------------- /docs/classrefl_1_1descriptor_1_1function__descriptor.js: -------------------------------------------------------------------------------- 1 | var classrefl_1_1descriptor_1_1function__descriptor = 2 | [ 3 | [ "return_type", "classrefl_1_1descriptor_1_1function__descriptor.html#a7f6f665c1d51087c1aa253eaf3edbeae", null ], 4 | [ "operator()", "classrefl_1_1descriptor_1_1function__descriptor.html#a2b9b03211b3a7c0f0fcd1c760579008e", null ] 5 | ]; -------------------------------------------------------------------------------- /docs/classrefl_1_1descriptor_1_1member__descriptor__base.js: -------------------------------------------------------------------------------- 1 | var classrefl_1_1descriptor_1_1member__descriptor__base = 2 | [ 3 | [ "attribute_types", "classrefl_1_1descriptor_1_1member__descriptor__base.html#ae8eb41df4e6d17f6e223f8ed5abe581d", null ], 4 | [ "declaring_type", "classrefl_1_1descriptor_1_1member__descriptor__base.html#af70beb1e0da54d076535cd8fb3dd5381", null ], 5 | [ "member", "classrefl_1_1descriptor_1_1member__descriptor__base.html#a04376d3b487a104c34065345ce477e88", null ], 6 | [ "member_type", "classrefl_1_1descriptor_1_1member__descriptor__base.html#a098cba21d2e91ee593b59573295b04d4", null ] 7 | ]; -------------------------------------------------------------------------------- /docs/classrefl_1_1descriptor_1_1type__descriptor.js: -------------------------------------------------------------------------------- 1 | var classrefl_1_1descriptor_1_1type__descriptor = 2 | [ 3 | [ "attribute_types", "classrefl_1_1descriptor_1_1type__descriptor.html#a0b45390046a31d03e076aa44899005a4", null ], 4 | [ "base_types", "classrefl_1_1descriptor_1_1type__descriptor.html#ab2c94fbeba96fd5d7259ee3843e5ddbe", null ], 5 | [ "declared_base_types", "classrefl_1_1descriptor_1_1type__descriptor.html#ac15c7097cb5c702c83802465cd364c3c", null ], 6 | [ "declared_member_types", "classrefl_1_1descriptor_1_1type__descriptor.html#a0974752f92b74a055bc9d8335d493fdf", null ], 7 | [ "member_types", "classrefl_1_1descriptor_1_1type__descriptor.html#abced96d86e87fce0968b1a9c9c2df561", null ], 8 | [ "type", "classrefl_1_1descriptor_1_1type__descriptor.html#a38599f7e777bda08453cdc4387c03708", null ] 9 | ]; -------------------------------------------------------------------------------- /docs/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/closed.png -------------------------------------------------------------------------------- /docs/dir_d44c64559bbebec7f509842c48db8b23.js: -------------------------------------------------------------------------------- 1 | var dir_d44c64559bbebec7f509842c48db8b23 = 2 | [ 3 | [ "refl.hpp", "refl_8hpp.html", "refl_8hpp" ] 4 | ]; -------------------------------------------------------------------------------- /docs/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/doc.png -------------------------------------------------------------------------------- /docs/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/doxygen.png -------------------------------------------------------------------------------- /docs/files_dup.js: -------------------------------------------------------------------------------- 1 | var files_dup = 2 | [ 3 | [ "include", "dir_d44c64559bbebec7f509842c48db8b23.html", "dir_d44c64559bbebec7f509842c48db8b23" ] 4 | ]; -------------------------------------------------------------------------------- /docs/folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/folderclosed.png -------------------------------------------------------------------------------- /docs/folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/folderopen.png -------------------------------------------------------------------------------- /docs/namespacerefl.js: -------------------------------------------------------------------------------- 1 | var namespacerefl = 2 | [ 3 | [ "attr", "namespacerefl_1_1attr.html", "namespacerefl_1_1attr" ], 4 | [ "descriptor", "namespacerefl_1_1descriptor.html", "namespacerefl_1_1descriptor" ], 5 | [ "member", "namespacerefl_1_1member.html", "namespacerefl_1_1member" ], 6 | [ "runtime", "namespacerefl_1_1runtime.html", "namespacerefl_1_1runtime" ], 7 | [ "trait", "namespacerefl_1_1trait.html", "namespacerefl_1_1trait" ], 8 | [ "util", "namespacerefl_1_1util.html", "namespacerefl_1_1util" ] 9 | ]; -------------------------------------------------------------------------------- /docs/namespacerefl_1_1attr.js: -------------------------------------------------------------------------------- 1 | var namespacerefl_1_1attr = 2 | [ 3 | [ "usage", "namespacerefl_1_1attr_1_1usage.html", "namespacerefl_1_1attr_1_1usage" ], 4 | [ "base_types", "structrefl_1_1attr_1_1base__types.html", "structrefl_1_1attr_1_1base__types" ], 5 | [ "debug", "structrefl_1_1attr_1_1debug.html", "structrefl_1_1attr_1_1debug" ], 6 | [ "property", "structrefl_1_1attr_1_1property.html", "structrefl_1_1attr_1_1property" ] 7 | ]; -------------------------------------------------------------------------------- /docs/namespacerefl_1_1attr_1_1usage.js: -------------------------------------------------------------------------------- 1 | var namespacerefl_1_1attr_1_1usage = 2 | [ 3 | [ "any", "structrefl_1_1attr_1_1usage_1_1any.html", null ], 4 | [ "field", "structrefl_1_1attr_1_1usage_1_1field.html", null ], 5 | [ "function", "structrefl_1_1attr_1_1usage_1_1function.html", null ], 6 | [ "member", "structrefl_1_1attr_1_1usage_1_1member.html", null ], 7 | [ "type", "structrefl_1_1attr_1_1usage_1_1type.html", null ] 8 | ]; -------------------------------------------------------------------------------- /docs/namespacerefl_1_1descriptor.js: -------------------------------------------------------------------------------- 1 | var namespacerefl_1_1descriptor = 2 | [ 3 | [ "field_descriptor", "classrefl_1_1descriptor_1_1field__descriptor.html", "classrefl_1_1descriptor_1_1field__descriptor" ], 4 | [ "function_descriptor", "classrefl_1_1descriptor_1_1function__descriptor.html", "classrefl_1_1descriptor_1_1function__descriptor" ], 5 | [ "member_descriptor_base", "classrefl_1_1descriptor_1_1member__descriptor__base.html", "classrefl_1_1descriptor_1_1member__descriptor__base" ], 6 | [ "type_descriptor", "classrefl_1_1descriptor_1_1type__descriptor.html", "classrefl_1_1descriptor_1_1type__descriptor" ] 7 | ]; -------------------------------------------------------------------------------- /docs/namespacerefl_1_1member.js: -------------------------------------------------------------------------------- 1 | var namespacerefl_1_1member = 2 | [ 3 | [ "field", "structrefl_1_1member_1_1field.html", null ], 4 | [ "function", "structrefl_1_1member_1_1function.html", null ] 5 | ]; -------------------------------------------------------------------------------- /docs/namespacerefl_1_1runtime.js: -------------------------------------------------------------------------------- 1 | var namespacerefl_1_1runtime = 2 | [ 3 | [ "proxy", "structrefl_1_1runtime_1_1proxy.html", "structrefl_1_1runtime_1_1proxy" ] 4 | ]; -------------------------------------------------------------------------------- /docs/namespacerefl_1_1util.js: -------------------------------------------------------------------------------- 1 | var namespacerefl_1_1util = 2 | [ 3 | [ "const_string", "structrefl_1_1util_1_1const__string.html", "structrefl_1_1util_1_1const__string" ], 4 | [ "type_list", "structrefl_1_1util_1_1type__list.html", null ], 5 | [ "type_list< T >", "structrefl_1_1util_1_1type__list_3_01_t_01_4.html", "structrefl_1_1util_1_1type__list_3_01_t_01_4" ] 6 | ]; -------------------------------------------------------------------------------- /docs/namespaces_dup.js: -------------------------------------------------------------------------------- 1 | var namespaces_dup = 2 | [ 3 | [ "refl", "namespacerefl.html", "namespacerefl" ] 4 | ]; -------------------------------------------------------------------------------- /docs/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/nav_f.png -------------------------------------------------------------------------------- /docs/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/nav_g.png -------------------------------------------------------------------------------- /docs/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/nav_h.png -------------------------------------------------------------------------------- /docs/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/open.png -------------------------------------------------------------------------------- /docs/search/all_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['accumulate_0',['accumulate',['../namespacerefl_1_1util.html#a75e4295de1bf1350238fe01eb71d9cc1',1,'refl::util']]], 4 | ['any_1',['any',['../structrefl_1_1attr_1_1usage_1_1any.html',1,'refl::attr::usage']]], 5 | ['append_2',['append',['../structrefl_1_1trait_1_1append.html',1,'refl::trait']]], 6 | ['append_5ft_3',['append_t',['../namespacerefl_1_1trait.html#a644910ba9f353221e50e2541a492e5cc',1,'refl::trait']]], 7 | ['apply_4',['apply',['../namespacerefl_1_1util.html#ab5d05c1c63f4794ce67cbdd71f322ae6',1,'refl::util']]], 8 | ['as_5ftuple_5',['as_tuple',['../namespacerefl_1_1util.html#a2eef47de6755754bb8666bf61b118014',1,'refl::util']]], 9 | ['as_5ftuple_3c_20t_3c_20ts_2e_2e_2e_20_3e_20_3e_6',['as_tuple< T< Ts... > >',['../structrefl_1_1trait_1_1as__tuple_3_01_t_3_01_ts_8_8_8_01_4_01_4.html',1,'refl::trait']]], 10 | ['as_5ftuple_5ft_7',['as_tuple_t',['../namespacerefl_1_1trait.html#a7528d00a7777f3ea5bae8b6bb2814b26',1,'refl::trait']]], 11 | ['as_5ftype_5flist_8',['as_type_list',['../namespacerefl_1_1util.html#a17fc91d7a4e148a502003f8ce4edeeef',1,'refl::util']]], 12 | ['as_5ftype_5flist_3c_20t_3c_20ts_2e_2e_2e_20_3e_20_3e_9',['as_type_list< T< Ts... > >',['../structrefl_1_1trait_1_1as__type__list_3_01_t_3_01_ts_8_8_8_01_4_01_4.html',1,'refl::trait']]], 13 | ['as_5ftype_5flist_5ft_10',['as_type_list_t',['../namespacerefl_1_1trait.html#ae2279db43338368acb8af9ade961a504',1,'refl::trait']]], 14 | ['attribute_5ftypes_11',['attribute_types',['../classrefl_1_1descriptor_1_1member__descriptor__base.html#ae8eb41df4e6d17f6e223f8ed5abe581d',1,'refl::descriptor::member_descriptor_base::attribute_types()'],['../classrefl_1_1descriptor_1_1type__descriptor.html#a0b45390046a31d03e076aa44899005a4',1,'refl::descriptor::type_descriptor::attribute_types()']]], 15 | ['attributes_12',['attributes',['../classrefl_1_1descriptor_1_1member__descriptor__base.html#a410121cb42388625a57cfb910d31cdb7',1,'refl::descriptor::member_descriptor_base::attributes()'],['../classrefl_1_1descriptor_1_1type__descriptor.html#ad71db44823dc75bcdd6bcd98449bab31',1,'refl::descriptor::type_descriptor::attributes()']]] 16 | ]; 17 | -------------------------------------------------------------------------------- /docs/search/all_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['base_5ftypes_13',['base_types',['../structrefl_1_1attr_1_1base__types.html',1,'refl::attr::base_types< Ts >'],['../classrefl_1_1descriptor_1_1type__descriptor.html#ab2c94fbeba96fd5d7259ee3843e5ddbe',1,'refl::descriptor::type_descriptor::base_types()']]], 4 | ['bases_14',['bases',['../classrefl_1_1descriptor_1_1type__descriptor.html#a49cb64fdc7142034426db38142cfa67b',1,'refl::descriptor::type_descriptor']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/all_10.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_10.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['unique_193',['unique',['../structrefl_1_1trait_1_1unique.html',1,'refl::trait']]], 4 | ['unique_5ft_194',['unique_t',['../namespacerefl_1_1trait.html#ace2b39ac60915978d350f5921c7e5a47',1,'refl::trait']]], 5 | ['unreflect_5ftypes_195',['unreflect_types',['../namespacerefl_1_1util.html#ad67a3c06ac31131661f1fb1cee670fbc',1,'refl::util']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/all_11.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_11.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['value_196',['value',['../structrefl_1_1trait_1_1is__proxy.html#a50e3e48d3a4a9893b363b731d02be31e',1,'refl::trait::is_proxy']]], 4 | ['value_5ftype_197',['value_type',['../classrefl_1_1descriptor_1_1field__descriptor.html#afcc7c5c7e2ee1a67cab3a6b526d092d2',1,'refl::descriptor::field_descriptor']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/all_12.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_12.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['write_198',['write',['../structrefl_1_1attr_1_1debug.html#a58a9c166189b75b1d482fc2f7e0336d9',1,'refl::attr::debug']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/all_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['data_34',['data',['../structrefl_1_1util_1_1const__string.html#a8ee1a2f4b8fd6d71b7556661f379426a',1,'refl::util::const_string']]], 4 | ['debug_35',['debug',['../structrefl_1_1attr_1_1debug.html',1,'refl::attr::debug< F >'],['../structrefl_1_1attr_1_1debug.html#a728cae0e89dc7148a607ffa66b12bbb3',1,'refl::attr::debug::debug()'],['../namespacerefl_1_1runtime.html#a06e1996b05966eac4f282b6656169d6a',1,'refl::runtime::debug(std::basic_ostream< CharT > &os, const T &value, bool compact=false)'],['../namespacerefl_1_1runtime.html#ad3ba25f8e5e09bd30234c28839ec6d7c',1,'refl::runtime::debug(std::basic_ostream< CharT > &os, const T &value, [[maybe_unused]] bool compact)']]], 5 | ['debug_5fall_36',['debug_all',['../namespacerefl_1_1runtime.html#ab63a0044074e3c5a78f8e8a2662783aa',1,'refl::runtime']]], 6 | ['debug_5fall_5fstr_37',['debug_all_str',['../namespacerefl_1_1runtime.html#a57bcab18d57d392f64fea2a46717d47b',1,'refl::runtime']]], 7 | ['debug_5fstr_38',['debug_str',['../namespacerefl_1_1runtime.html#add62a33c7bf6980c9e6d6e5a8977540e',1,'refl::runtime']]], 8 | ['declarator_39',['declarator',['../classrefl_1_1descriptor_1_1member__descriptor__base.html#a80719a0106e9f454c29c8363c0e694e4',1,'refl::descriptor::member_descriptor_base']]], 9 | ['declared_5fbase_5ftypes_40',['declared_base_types',['../classrefl_1_1descriptor_1_1type__descriptor.html#ac15c7097cb5c702c83802465cd364c3c',1,'refl::descriptor::type_descriptor']]], 10 | ['declared_5fbases_41',['declared_bases',['../classrefl_1_1descriptor_1_1type__descriptor.html#a47c4ff48babd4b3c949a9f20fd4cfca2',1,'refl::descriptor::type_descriptor']]], 11 | ['declared_5fmember_5flist_42',['declared_member_list',['../namespacerefl_1_1descriptor.html#a8c50bc8b2fa157709ed2453246d0f9a0',1,'refl::descriptor']]], 12 | ['declared_5fmember_5ftypes_43',['declared_member_types',['../classrefl_1_1descriptor_1_1type__descriptor.html#a0974752f92b74a055bc9d8335d493fdf',1,'refl::descriptor::type_descriptor']]], 13 | ['declared_5fmembers_44',['declared_members',['../classrefl_1_1descriptor_1_1type__descriptor.html#a49d984bc4bcb37717d3dc95a1815a4ba',1,'refl::descriptor::type_descriptor']]], 14 | ['declaring_5ftype_45',['declaring_type',['../classrefl_1_1descriptor_1_1member__descriptor__base.html#af70beb1e0da54d076535cd8fb3dd5381',1,'refl::descriptor::member_descriptor_base']]], 15 | ['deprecated_20list_46',['Deprecated List',['../deprecated.html',1,'']]] 16 | ]; 17 | -------------------------------------------------------------------------------- /docs/search/all_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['field_47',['field',['../structrefl_1_1member_1_1field.html',1,'refl::member::field'],['../structrefl_1_1attr_1_1usage_1_1field.html',1,'refl::attr::usage::field']]], 4 | ['field_5fdescriptor_48',['field_descriptor',['../classrefl_1_1descriptor_1_1field__descriptor.html',1,'refl::descriptor']]], 5 | ['filter_49',['filter',['../namespacerefl_1_1util.html#a097549e41bac7745db61442f94135c41',1,'refl::util']]], 6 | ['filter_3c_20predicate_2c_20type_5flist_3c_20ts_2e_2e_2e_20_3e_20_3e_50',['filter< Predicate, type_list< Ts... > >',['../structrefl_1_1trait_1_1filter_3_01_predicate_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html',1,'refl::trait']]], 7 | ['filter_5ft_51',['filter_t',['../namespacerefl_1_1trait.html#afb7c8b735416e75efa6443d59fe46493',1,'refl::trait']]], 8 | ['find_52',['find',['../structrefl_1_1util_1_1const__string.html#a90d93009e7ae4bccec928c9342b197af',1,'refl::util::const_string']]], 9 | ['find_5ffirst_53',['find_first',['../namespacerefl_1_1util.html#ad1d30e9de0766352287491f18da067c0',1,'refl::util']]], 10 | ['find_5fone_54',['find_one',['../namespacerefl_1_1util.html#a6685e65aeb830a5e27dc8e4f2085ce27',1,'refl::util']]], 11 | ['first_55',['first',['../namespacerefl_1_1trait.html#ab4aae36e6ff8c6d3adb2cc91ba985e80',1,'refl::trait']]], 12 | ['first_5ft_56',['first_t',['../namespacerefl_1_1trait.html#a8c142f0b5a366ee8b67c0009fa01c9d2',1,'refl::trait']]], 13 | ['for_5feach_57',['for_each',['../namespacerefl_1_1util.html#a19919596cdd45c858d891c91a7826b22',1,'refl::util']]], 14 | ['friendly_5fname_58',['friendly_name',['../structrefl_1_1attr_1_1property.html#a8c45f77ef5159115250f2294bd37d296',1,'refl::attr::property']]], 15 | ['function_59',['function',['../structrefl_1_1attr_1_1usage_1_1function.html',1,'refl::attr::usage::function'],['../structrefl_1_1member_1_1function.html',1,'refl::member::function']]], 16 | ['function_5fdescriptor_60',['function_descriptor',['../classrefl_1_1descriptor_1_1function__descriptor.html',1,'refl::descriptor']]] 17 | ]; 18 | -------------------------------------------------------------------------------- /docs/search/all_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['has_5fattribute_84',['has_attribute',['../namespacerefl_1_1descriptor.html#a024d98e2fa7e18a1d7ece243549cde68',1,'refl::descriptor']]], 4 | ['has_5fbases_85',['has_bases',['../namespacerefl_1_1descriptor.html#ac00126ab409dbc1a5445d37832876fe2',1,'refl::descriptor']]], 5 | ['has_5freader_86',['has_reader',['../namespacerefl_1_1descriptor.html#a3d943ef351c700532badfa3c5d4ba953',1,'refl::descriptor']]], 6 | ['has_5fwriter_87',['has_writer',['../namespacerefl_1_1descriptor.html#a3677023906e7fb31d6267d4afdaeffde',1,'refl::descriptor']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/all_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['last_116',['last',['../namespacerefl_1_1trait.html#a11002f7ba1b41398115b0b102c0bacf0',1,'refl::trait']]], 4 | ['last_5ft_117',['last_t',['../namespacerefl_1_1trait.html#a2260f346ec8347a51e5f40c626bb0e07',1,'refl::trait']]], 5 | ['list_118',['list',['../structrefl_1_1attr_1_1base__types.html#a1de0c6ee5fa8bf39070b6163ad6ea29d',1,'refl::attr::base_types']]], 6 | ['list_5ftype_119',['list_type',['../structrefl_1_1attr_1_1base__types.html#a5bf13a7cf1300a7fec27ea0918a86adc',1,'refl::attr::base_types']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/all_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['make_5fconst_120',['make_const',['../namespacerefl_1_1util.html#ab419efb086dd5940b0f032810610e2fa',1,'refl::util::make_const(const T &value) noexcept'],['../namespacerefl_1_1util.html#a5acb0bd0c244bac6c75250660d0f37bd',1,'refl::util::make_const(T &value) noexcept']]], 4 | ['make_5fconst_5fstring_121',['make_const_string',['../namespacerefl_1_1util.html#a4902f2250ab00bb4884b348893fb7641',1,'refl::util::make_const_string() noexcept'],['../namespacerefl_1_1util.html#ad79e9e7d64a8511211dc01f0b74e4e17',1,'refl::util::make_const_string(const char(&str)[N]) noexcept'],['../namespacerefl_1_1util.html#af82b6c46a048b294ba533f7552d59bbf',1,'refl::util::make_const_string(char ch) noexcept']]], 5 | ['map_3c_20mapper_2c_20type_5flist_3c_20ts_2e_2e_2e_20_3e_20_3e_122',['map< Mapper, type_list< Ts... > >',['../structrefl_1_1trait_1_1map_3_01_mapper_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html',1,'refl::trait']]], 6 | ['map_5ft_123',['map_t',['../namespacerefl_1_1trait.html#a27b580a856a2aedc8487f28a4ded1c03',1,'refl::trait']]], 7 | ['map_5fto_5farray_124',['map_to_array',['../namespacerefl_1_1util.html#af69ca2ba2b0353b7d3433f6a77b62902',1,'refl::util']]], 8 | ['map_5fto_5ftuple_125',['map_to_tuple',['../namespacerefl_1_1util.html#adb5bb478ef1cc5966e9df7c9b10b5dd3',1,'refl::util']]], 9 | ['member_126',['member',['../structrefl_1_1attr_1_1usage_1_1member.html',1,'refl::attr::usage::member'],['../classrefl_1_1descriptor_1_1member__descriptor__base.html#a04376d3b487a104c34065345ce477e88',1,'refl::descriptor::member_descriptor_base::member()']]], 10 | ['member_5fdescriptor_5fbase_127',['member_descriptor_base',['../classrefl_1_1descriptor_1_1member__descriptor__base.html',1,'refl::descriptor']]], 11 | ['member_5flist_128',['member_list',['../namespacerefl_1_1descriptor.html#a50b88518840c2acd134a2171795bd7c3',1,'refl::descriptor']]], 12 | ['member_5ftype_129',['member_type',['../classrefl_1_1descriptor_1_1member__descriptor__base.html#a098cba21d2e91ee593b59573295b04d4',1,'refl::descriptor::member_descriptor_base']]], 13 | ['member_5ftypes_130',['member_types',['../classrefl_1_1descriptor_1_1type__descriptor.html#abced96d86e87fce0968b1a9c9c2df561',1,'refl::descriptor::type_descriptor']]], 14 | ['members_131',['members',['../classrefl_1_1descriptor_1_1type__descriptor.html#a48f1fddd822d40866a30bf1ebd60fa1a',1,'refl::descriptor::type_descriptor']]] 15 | ]; 16 | -------------------------------------------------------------------------------- /docs/search/all_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['name_132',['name',['../classrefl_1_1descriptor_1_1member__descriptor__base.html#a5d009e0abbaad1707d6cdb5cf743f18b',1,'refl::descriptor::member_descriptor_base::name()'],['../classrefl_1_1descriptor_1_1type__descriptor.html#a2593e5ff02d41a4a4c0d45194c21ac6b',1,'refl::descriptor::type_descriptor::name()']]], 4 | ['npos_133',['npos',['../structrefl_1_1util_1_1const__string.html#abad5b68a7c03fcccc05acb4468edb0e6',1,'refl::util::const_string']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/all_b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['operator_20const_20char_20_2a_134',['operator const char *',['../structrefl_1_1util_1_1const__string.html#a8f8b7b47319025b4007367b285849fbd',1,'refl::util::const_string']]], 4 | ['operator_21_3d_135',['operator!=',['../namespacerefl_1_1util.html#a44df4cd5b930d0ee80b2830097f213d7',1,'refl::util::operator!=(const const_string< N > &a, const const_string< M > &b) noexcept'],['../namespacerefl_1_1util.html#a28729c6245c3fec57d783ee3eb5dc6cd',1,'refl::util::operator!=(const const_string< N > &a, const char(&b)[M]) noexcept'],['../namespacerefl_1_1util.html#aad1d1867818badb7888668e7756c76be',1,'refl::util::operator!=(const char(&a)[N], const const_string< M > &b) noexcept']]], 5 | ['operator_28_29_136',['operator()',['../classrefl_1_1descriptor_1_1field__descriptor.html#af003db500839f3ca03b9408bcf76b009',1,'refl::descriptor::field_descriptor::operator()()'],['../classrefl_1_1descriptor_1_1function__descriptor.html#a2b9b03211b3a7c0f0fcd1c760579008e',1,'refl::descriptor::function_descriptor::operator()()']]], 6 | ['operator_2b_137',['operator+',['../namespacerefl_1_1util.html#aeb53039f8928d4e4a207407a865034f0',1,'refl::util::operator+(const const_string< N > &a, const const_string< M > &b) noexcept'],['../namespacerefl_1_1util.html#aa16ab2db12eb07f30ea39f2d94787486',1,'refl::util::operator+(const const_string< N > &a, const char(&b)[M]) noexcept'],['../namespacerefl_1_1util.html#a199ad5af9e6ac09eba8eaa6a159b8209',1,'refl::util::operator+(const char(&a)[N], const const_string< M > &b) noexcept']]], 7 | ['operator_3c_3c_138',['operator<<',['../namespacerefl_1_1util.html#a6f75b02aaddfc2beafcbf1fadedae865',1,'refl::util']]], 8 | ['operator_3d_3d_139',['operator==',['../namespacerefl_1_1util.html#ae0b3daa04427017785fc8f2c793837af',1,'refl::util::operator==(const const_string< N > &a, const const_string< M > &b) noexcept'],['../namespacerefl_1_1util.html#a7ca109d4c938be71f874a416712ddcc6',1,'refl::util::operator==(const const_string< N > &a, const char(&b)[M]) noexcept'],['../namespacerefl_1_1util.html#a1d84159539d36286560bb12d8bb96dc0',1,'refl::util::operator==(const char(&a)[N], const const_string< M > &b) noexcept']]], 9 | ['string_140',['string',['../structrefl_1_1util_1_1const__string.html#a824c47b1e7641a471b30a519d0a99f74',1,'refl::util::const_string']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /docs/search/all_c.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['pointer_141',['pointer',['../classrefl_1_1descriptor_1_1field__descriptor.html#ad5a2424645cac6591a1e9cdd66a4a994',1,'refl::descriptor::field_descriptor::pointer()'],['../classrefl_1_1descriptor_1_1function__descriptor.html#a6e18ad19be31eb26acfe1e84fd320c36',1,'refl::descriptor::function_descriptor::pointer()']]], 4 | ['prepend_142',['prepend',['../structrefl_1_1trait_1_1prepend.html',1,'refl::trait']]], 5 | ['prepend_5ft_143',['prepend_t',['../namespacerefl_1_1trait.html#ab8b29546446a5c8334ee733b161e6f3e',1,'refl::trait']]], 6 | ['property_144',['property',['../structrefl_1_1attr_1_1property.html',1,'refl::attr::property'],['../structrefl_1_1attr_1_1property.html#a9d0c531c6eead628be9a0c3789d0c73c',1,'refl::attr::property::property() noexcept'],['../structrefl_1_1attr_1_1property.html#aeb55e70be282efc6f9d33718378b3e60',1,'refl::attr::property::property(const char *friendly_name) noexcept']]], 7 | ['proxy_145',['proxy',['../structrefl_1_1runtime_1_1proxy.html',1,'refl::runtime::proxy< Derived, Target >'],['../structrefl_1_1runtime_1_1proxy.html#aa35d06ce63700a4bde6f31cd640fcc5f',1,'refl::runtime::proxy::proxy()'],['../namespacerefl_1_1runtime.html#a10ea7c32cad8eb5cc0512f774a65da04',1,'refl::runtime::proxy()']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/search/all_d.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_e.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_e.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['size_176',['size',['../structrefl_1_1util_1_1const__string.html#a426d87f33a7778a82e1169bd9de752e0',1,'refl::util::const_string::size()'],['../structrefl_1_1util_1_1type__list.html#ac0814fc38f041e46d2ab9258213910f3',1,'refl::util::type_list::size()'],['../structrefl_1_1util_1_1type__list_3_01_t_01_4.html#a2c3cf22f32a610a070a248353cb8e89e',1,'refl::util::type_list< T >::size()']]], 4 | ['skip_3c_20n_2c_20type_5flist_3c_20ts_2e_2e_2e_20_3e_20_3e_177',['skip< N, type_list< Ts... > >',['../structrefl_1_1trait_1_1skip_3_01_n_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html',1,'refl::trait']]], 5 | ['skip_5ft_178',['skip_t',['../namespacerefl_1_1trait.html#a5cfe5ce0bb235343bab9b69d5115a738',1,'refl::trait']]], 6 | ['str_179',['str',['../structrefl_1_1util_1_1const__string.html#a25bdf3f17b20a34f25f4bd7b624c6aa7',1,'refl::util::const_string']]], 7 | ['substr_180',['substr',['../structrefl_1_1util_1_1const__string.html#ac43d0430fdf61b1fb9fe62bb61457d68',1,'refl::util::const_string']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/search/all_f.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/all_f.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['tail_181',['tail',['../namespacerefl_1_1trait.html#a38acd7e400afcfd16d25d5c6ae09e65a',1,'refl::trait']]], 4 | ['tail_5ft_182',['tail_t',['../namespacerefl_1_1trait.html#a96df3c32bb1b2672b5909aa9cca42cf9',1,'refl::trait']]], 5 | ['take_183',['take',['../namespacerefl_1_1trait.html#ab9ae2dbbb031faf63f04ffd59f476140',1,'refl::trait']]], 6 | ['take_5ft_184',['take_t',['../namespacerefl_1_1trait.html#a08a7c33d3ef1f336360a68af8f14bc44',1,'refl::trait']]], 7 | ['target_5ftype_185',['target_type',['../structrefl_1_1runtime_1_1proxy.html#a81d8bc1490cfcbfc4ac3cbbcbb299393',1,'refl::runtime::proxy']]], 8 | ['to_5farray_186',['to_array',['../namespacerefl_1_1util.html#a6ebcdc8886ed6cf62bd914eb9566882a',1,'refl::util']]], 9 | ['to_5ftuple_187',['to_tuple',['../namespacerefl_1_1util.html#af7db9918de2fd9e0d34caf4b6a5c1f77',1,'refl::util']]], 10 | ['type_188',['type',['../structrefl_1_1attr_1_1usage_1_1type.html',1,'refl::attr::usage::type'],['../structrefl_1_1util_1_1type__list_3_01_t_01_4.html#a5b8f143671b0f6ce8c7675b5b905817c',1,'refl::util::type_list< T >::type()'],['../structrefl_1_1trait_1_1remove__qualifiers.html#a39800dbc8004ea52c246cdda69f4d409',1,'refl::trait::remove_qualifiers::type()'],['../structrefl_1_1trait_1_1as__type__list_3_01_t_3_01_ts_8_8_8_01_4_01_4.html#a83bf2f383c12d5294c40d3f91400f118',1,'refl::trait::as_type_list< T< Ts... > >::type()'],['../structrefl_1_1trait_1_1as__tuple_3_01_t_3_01_ts_8_8_8_01_4_01_4.html#a3e95f7ce1f7fc859ecf26fc145926995',1,'refl::trait::as_tuple< T< Ts... > >::type()'],['../structrefl_1_1trait_1_1filter_3_01_predicate_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html#adb3370c903a75a6e3cc0d41fdc3c70bc',1,'refl::trait::filter< Predicate, type_list< Ts... > >::type()'],['../structrefl_1_1trait_1_1map_3_01_mapper_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html#aadf599e0604372e946f11d1b00f657d1',1,'refl::trait::map< Mapper, type_list< Ts... > >::type()'],['../classrefl_1_1descriptor_1_1type__descriptor.html#a38599f7e777bda08453cdc4387c03708',1,'refl::descriptor::type_descriptor::type()']]], 11 | ['type_5fdescriptor_189',['type_descriptor',['../classrefl_1_1descriptor_1_1type__descriptor.html',1,'refl::descriptor']]], 12 | ['type_5flist_190',['type_list',['../structrefl_1_1util_1_1type__list.html',1,'refl::util']]], 13 | ['type_5flist_3c_20t_20_3e_191',['type_list< T >',['../structrefl_1_1util_1_1type__list_3_01_t_01_4.html',1,'refl::util']]], 14 | ['type_5ftag_192',['type_tag',['../namespacerefl_1_1util.html#ae902b69e9d164cdf4b6ba5c76eed1825',1,'refl::util']]] 15 | ]; 16 | -------------------------------------------------------------------------------- /docs/search/classes_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/classes_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['any_199',['any',['../structrefl_1_1attr_1_1usage_1_1any.html',1,'refl::attr::usage']]], 4 | ['append_200',['append',['../structrefl_1_1trait_1_1append.html',1,'refl::trait']]], 5 | ['as_5ftuple_3c_20t_3c_20ts_2e_2e_2e_20_3e_20_3e_201',['as_tuple< T< Ts... > >',['../structrefl_1_1trait_1_1as__tuple_3_01_t_3_01_ts_8_8_8_01_4_01_4.html',1,'refl::trait']]], 6 | ['as_5ftype_5flist_3c_20t_3c_20ts_2e_2e_2e_20_3e_20_3e_202',['as_type_list< T< Ts... > >',['../structrefl_1_1trait_1_1as__type__list_3_01_t_3_01_ts_8_8_8_01_4_01_4.html',1,'refl::trait']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/classes_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/classes_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['base_5ftypes_203',['base_types',['../structrefl_1_1attr_1_1base__types.html',1,'refl::attr']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/classes_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/classes_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['concat_204',['concat',['../structrefl_1_1trait_1_1concat.html',1,'refl::trait']]], 4 | ['concat_3c_20concat_3c_20typelist1_2c_20typelist2_20_3e_3a_3atype_2c_20typelists_2e_2e_2e_20_3e_205',['concat< concat< TypeList1, TypeList2 >::type, TypeLists... >',['../structrefl_1_1trait_1_1concat.html',1,'refl::trait']]], 5 | ['concat_3c_20typelist_2c_20type_5flist_3c_20t_20_3e_20_3e_206',['concat< TypeList, type_list< T > >',['../structrefl_1_1trait_1_1concat.html',1,'refl::trait']]], 6 | ['concat_3c_20typelists_2e_2e_2e_20_3e_207',['concat< TypeLists... >',['../structrefl_1_1trait_1_1concat.html',1,'refl::trait']]], 7 | ['const_5fstring_208',['const_string',['../structrefl_1_1util_1_1const__string.html',1,'refl::util']]], 8 | ['contains_3c_20t_2c_20type_5flist_3c_20ts_2e_2e_2e_20_3e_20_3e_209',['contains< T, type_list< Ts... > >',['../structrefl_1_1trait_1_1contains_3_01_t_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html',1,'refl::trait']]], 9 | ['contains_5fbase_3c_20t_2c_20type_5flist_3c_20ts_2e_2e_2e_20_3e_20_3e_210',['contains_base< T, type_list< Ts... > >',['../structrefl_1_1trait_1_1contains__base_3_01_t_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html',1,'refl::trait']]], 10 | ['contains_5finstance_3c_20t_2c_20type_5flist_3c_20ts_2e_2e_2e_20_3e_20_3e_211',['contains_instance< T, type_list< Ts... > >',['../structrefl_1_1trait_1_1contains__instance_3_01_t_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html',1,'refl::trait']]] 11 | ]; 12 | -------------------------------------------------------------------------------- /docs/search/classes_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/classes_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['debug_212',['debug',['../structrefl_1_1attr_1_1debug.html',1,'refl::attr']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/classes_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/classes_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['field_213',['field',['../structrefl_1_1member_1_1field.html',1,'refl::member::field'],['../structrefl_1_1attr_1_1usage_1_1field.html',1,'refl::attr::usage::field']]], 4 | ['field_5fdescriptor_214',['field_descriptor',['../classrefl_1_1descriptor_1_1field__descriptor.html',1,'refl::descriptor']]], 5 | ['filter_3c_20predicate_2c_20type_5flist_3c_20ts_2e_2e_2e_20_3e_20_3e_215',['filter< Predicate, type_list< Ts... > >',['../structrefl_1_1trait_1_1filter_3_01_predicate_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html',1,'refl::trait']]], 6 | ['function_216',['function',['../structrefl_1_1attr_1_1usage_1_1function.html',1,'refl::attr::usage::function'],['../structrefl_1_1member_1_1function.html',1,'refl::member::function']]], 7 | ['function_5fdescriptor_217',['function_descriptor',['../classrefl_1_1descriptor_1_1function__descriptor.html',1,'refl::descriptor']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/search/classes_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/classes_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['get_3c_20n_2c_20type_5flist_3c_20ts_2e_2e_2e_20_3e_20_3e_218',['get< N, type_list< Ts... > >',['../structrefl_1_1trait_1_1get_3_01_n_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html',1,'refl::trait']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/classes_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/classes_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['index_5fof_3c_20t_2c_20type_5flist_3c_20ts_2e_2e_2e_20_3e_20_3e_219',['index_of< T, type_list< Ts... > >',['../structrefl_1_1trait_1_1index__of_3_01_t_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html',1,'refl::trait']]], 4 | ['index_5fof_5fbase_3c_20t_2c_20type_5flist_3c_20ts_2e_2e_2e_20_3e_20_3e_220',['index_of_base< T, type_list< Ts... > >',['../structrefl_1_1trait_1_1index__of__base_3_01_t_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html',1,'refl::trait']]], 5 | ['index_5fof_5finstance_3c_20t_2c_20type_5flist_3c_20ts_2e_2e_2e_20_3e_20_3e_221',['index_of_instance< T, type_list< Ts... > >',['../structrefl_1_1trait_1_1index__of__instance_3_01_t_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html',1,'refl::trait']]], 6 | ['is_5fcontainer_222',['is_container',['../structrefl_1_1trait_1_1is__container.html',1,'refl::trait']]], 7 | ['is_5fdescriptor_223',['is_descriptor',['../structrefl_1_1trait_1_1is__descriptor.html',1,'refl::trait']]], 8 | ['is_5ffield_224',['is_field',['../structrefl_1_1trait_1_1is__field.html',1,'refl::trait']]], 9 | ['is_5ffunction_225',['is_function',['../structrefl_1_1trait_1_1is__function.html',1,'refl::trait']]], 10 | ['is_5finstance_226',['is_instance',['../structrefl_1_1trait_1_1is__instance.html',1,'refl::trait']]], 11 | ['is_5finstance_5fof_227',['is_instance_of',['../structrefl_1_1trait_1_1is__instance__of.html',1,'refl::trait']]], 12 | ['is_5finstance_5fof_3c_20descriptor_3a_3atype_5fdescriptor_2c_20t_20_3e_228',['is_instance_of< descriptor::type_descriptor, T >',['../structrefl_1_1trait_1_1is__instance__of.html',1,'refl::trait']]], 13 | ['is_5fmember_229',['is_member',['../structrefl_1_1trait_1_1is__member.html',1,'refl::trait']]], 14 | ['is_5fproperty_230',['is_property',['../structrefl_1_1trait_1_1is__property.html',1,'refl::trait']]], 15 | ['is_5fproxy_231',['is_proxy',['../structrefl_1_1trait_1_1is__proxy.html',1,'refl::trait']]], 16 | ['is_5freflectable_232',['is_reflectable',['../structrefl_1_1trait_1_1is__reflectable.html',1,'refl::trait']]], 17 | ['is_5ftype_233',['is_type',['../structrefl_1_1trait_1_1is__type.html',1,'refl::trait']]] 18 | ]; 19 | -------------------------------------------------------------------------------- /docs/search/classes_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/classes_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['map_3c_20mapper_2c_20type_5flist_3c_20ts_2e_2e_2e_20_3e_20_3e_234',['map< Mapper, type_list< Ts... > >',['../structrefl_1_1trait_1_1map_3_01_mapper_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html',1,'refl::trait']]], 4 | ['member_235',['member',['../structrefl_1_1attr_1_1usage_1_1member.html',1,'refl::attr::usage']]], 5 | ['member_5fdescriptor_5fbase_236',['member_descriptor_base',['../classrefl_1_1descriptor_1_1member__descriptor__base.html',1,'refl::descriptor']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/classes_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/classes_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['prepend_237',['prepend',['../structrefl_1_1trait_1_1prepend.html',1,'refl::trait']]], 4 | ['property_238',['property',['../structrefl_1_1attr_1_1property.html',1,'refl::attr']]], 5 | ['proxy_239',['proxy',['../structrefl_1_1runtime_1_1proxy.html',1,'refl::runtime']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/classes_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/classes_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['remove_5fqualifiers_240',['remove_qualifiers',['../structrefl_1_1trait_1_1remove__qualifiers.html',1,'refl::trait']]], 4 | ['reverse_241',['reverse',['../structrefl_1_1trait_1_1reverse.html',1,'refl::trait']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/classes_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/classes_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['skip_3c_20n_2c_20type_5flist_3c_20ts_2e_2e_2e_20_3e_20_3e_242',['skip< N, type_list< Ts... > >',['../structrefl_1_1trait_1_1skip_3_01_n_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html',1,'refl::trait']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/classes_b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/classes_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['type_243',['type',['../structrefl_1_1attr_1_1usage_1_1type.html',1,'refl::attr::usage']]], 4 | ['type_5fdescriptor_244',['type_descriptor',['../classrefl_1_1descriptor_1_1type__descriptor.html',1,'refl::descriptor']]], 5 | ['type_5flist_245',['type_list',['../structrefl_1_1util_1_1type__list.html',1,'refl::util']]], 6 | ['type_5flist_3c_20t_20_3e_246',['type_list< T >',['../structrefl_1_1util_1_1type__list_3_01_t_01_4.html',1,'refl::util']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/classes_c.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/classes_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['unique_247',['unique',['../structrefl_1_1trait_1_1unique.html',1,'refl::trait']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/search/close.png -------------------------------------------------------------------------------- /docs/search/defines_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/defines_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['refl_5fdetail_5fattributes_400',['REFL_DETAIL_ATTRIBUTES',['../refl_8hpp.html#ad77fb25bb894a5f1f091a4a94fa67b3f',1,'refl.hpp']]], 4 | ['refl_5fdetail_5fforce_5febo_401',['REFL_DETAIL_FORCE_EBO',['../refl_8hpp.html#adc29b89a87a223da5f194d5918ba94f5',1,'refl.hpp']]], 5 | ['refl_5fdetail_5fgroup_402',['REFL_DETAIL_GROUP',['../refl_8hpp.html#a4e6ab98a732ec684223ddfd0734f260f',1,'refl.hpp']]], 6 | ['refl_5fdetail_5fstr_403',['REFL_DETAIL_STR',['../refl_8hpp.html#ac16abdfd738e4366eb239e904b90e930',1,'refl.hpp']]], 7 | ['refl_5fdetail_5fstr_5fimpl_404',['REFL_DETAIL_STR_IMPL',['../refl_8hpp.html#a3eb9f0fdea25c64045020adb97393613',1,'refl.hpp']]], 8 | ['refl_5fdetail_5ftype_5fbody_405',['REFL_DETAIL_TYPE_BODY',['../refl_8hpp.html#ac7f8b46b069c2311101168d841a71b37',1,'refl.hpp']]], 9 | ['refl_5fmake_5fconst_5fstring_406',['REFL_MAKE_CONST_STRING',['../refl_8hpp.html#a2cb939da062920a29a38dff73aaf0968',1,'refl.hpp']]], 10 | ['refl_5ftemplate_407',['REFL_TEMPLATE',['../refl_8hpp.html#a832b795bfa32d4130b04e9e33635c507',1,'refl.hpp']]], 11 | ['refl_5ftype_408',['REFL_TYPE',['../refl_8hpp.html#a2d90ffbabd9fc8cc17579fc33d919d71',1,'refl.hpp']]] 12 | ]; 13 | -------------------------------------------------------------------------------- /docs/search/files_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/files_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['changelog_2emd_256',['CHANGELOG.md',['../_c_h_a_n_g_e_l_o_g_8md.html',1,'']]], 4 | ['code_5fof_5fconduct_2emd_257',['CODE_OF_CONDUCT.md',['../_c_o_d_e___o_f___c_o_n_d_u_c_t_8md.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/files_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/files_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['introduction_2emd_258',['Introduction.md',['../_introduction_8md.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/files_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/files_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['readme_2emd_259',['README.md',['../_r_e_a_d_m_e_8md.html',1,'']]], 4 | ['refl_2ehpp_260',['refl.hpp',['../refl_8hpp.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/functions_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/functions_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['accumulate_261',['accumulate',['../namespacerefl_1_1util.html#a75e4295de1bf1350238fe01eb71d9cc1',1,'refl::util']]], 4 | ['apply_262',['apply',['../namespacerefl_1_1util.html#ab5d05c1c63f4794ce67cbdd71f322ae6',1,'refl::util']]], 5 | ['as_5ftuple_263',['as_tuple',['../namespacerefl_1_1util.html#a2eef47de6755754bb8666bf61b118014',1,'refl::util']]], 6 | ['as_5ftype_5flist_264',['as_type_list',['../namespacerefl_1_1util.html#a17fc91d7a4e148a502003f8ce4edeeef',1,'refl::util']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/functions_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/functions_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['c_5fstr_265',['c_str',['../structrefl_1_1util_1_1const__string.html#a465086c5ae8e245358ce44ed8154c986',1,'refl::util::const_string']]], 4 | ['can_5fresolve_266',['can_resolve',['../classrefl_1_1descriptor_1_1function__descriptor.html#a892b6413e06e59040945548bc45cc29c',1,'refl::descriptor::function_descriptor::can_resolve()'],['../namespacerefl_1_1descriptor.html#ad3d6702622d06d0e2f5792f903626790',1,'refl::descriptor::can_resolve()']]], 5 | ['const_5fstring_267',['const_string',['../structrefl_1_1util_1_1const__string.html#ac378ca52c38cc6ccc04cab0b73b1f805',1,'refl::util::const_string::const_string() noexcept'],['../structrefl_1_1util_1_1const__string.html#a5ae4b17a4b57f0542f63ae01734f1d86',1,'refl::util::const_string::const_string(const const_string< N > &other) noexcept'],['../structrefl_1_1util_1_1const__string.html#abd5ad22466e3c3513257bde29683e0e4',1,'refl::util::const_string::const_string(const char(&data)[N+1]) noexcept']]], 6 | ['contains_268',['contains',['../namespacerefl_1_1util.html#a9b7d50e103a976d8b4baa9a4e6da67be',1,'refl::util::contains(type_list< Ts... > list, F &&f)'],['../namespacerefl_1_1util.html#adbae658ac1fcf49ae57d8a20a3818ca1',1,'refl::util::contains(type_list< Ts... >)']]], 7 | ['contains_5fbase_269',['contains_base',['../namespacerefl_1_1util.html#ad3f02ce0f4526972a86b23ac8e98678f',1,'refl::util']]], 8 | ['contains_5finstance_270',['contains_instance',['../namespacerefl_1_1util.html#a43d13ecc025c0703aabde8c9489deb34',1,'refl::util']]], 9 | ['count_5fif_271',['count_if',['../namespacerefl_1_1util.html#aea0417f0fd0129f2cf1ee5fa055d9c20',1,'refl::util']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /docs/search/functions_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/functions_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['debug_272',['debug',['../structrefl_1_1attr_1_1debug.html#a728cae0e89dc7148a607ffa66b12bbb3',1,'refl::attr::debug::debug()'],['../namespacerefl_1_1runtime.html#a06e1996b05966eac4f282b6656169d6a',1,'refl::runtime::debug(std::basic_ostream< CharT > &os, const T &value, bool compact=false)'],['../namespacerefl_1_1runtime.html#ad3ba25f8e5e09bd30234c28839ec6d7c',1,'refl::runtime::debug(std::basic_ostream< CharT > &os, const T &value, [[maybe_unused]] bool compact)']]], 4 | ['debug_5fall_273',['debug_all',['../namespacerefl_1_1runtime.html#ab63a0044074e3c5a78f8e8a2662783aa',1,'refl::runtime']]], 5 | ['debug_5fall_5fstr_274',['debug_all_str',['../namespacerefl_1_1runtime.html#a57bcab18d57d392f64fea2a46717d47b',1,'refl::runtime']]], 6 | ['debug_5fstr_275',['debug_str',['../namespacerefl_1_1runtime.html#add62a33c7bf6980c9e6d6e5a8977540e',1,'refl::runtime']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/functions_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/functions_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['filter_276',['filter',['../namespacerefl_1_1util.html#a097549e41bac7745db61442f94135c41',1,'refl::util']]], 4 | ['find_277',['find',['../structrefl_1_1util_1_1const__string.html#a90d93009e7ae4bccec928c9342b197af',1,'refl::util::const_string']]], 5 | ['find_5ffirst_278',['find_first',['../namespacerefl_1_1util.html#ad1d30e9de0766352287491f18da067c0',1,'refl::util']]], 6 | ['find_5fone_279',['find_one',['../namespacerefl_1_1util.html#a6685e65aeb830a5e27dc8e4f2085ce27',1,'refl::util']]], 7 | ['for_5feach_280',['for_each',['../namespacerefl_1_1util.html#a19919596cdd45c858d891c91a7826b22',1,'refl::util']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/search/functions_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/functions_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/functions_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['has_5fattribute_302',['has_attribute',['../namespacerefl_1_1descriptor.html#a024d98e2fa7e18a1d7ece243549cde68',1,'refl::descriptor']]], 4 | ['has_5fbases_303',['has_bases',['../namespacerefl_1_1descriptor.html#ac00126ab409dbc1a5445d37832876fe2',1,'refl::descriptor']]], 5 | ['has_5freader_304',['has_reader',['../namespacerefl_1_1descriptor.html#a3d943ef351c700532badfa3c5d4ba953',1,'refl::descriptor']]], 6 | ['has_5fwriter_305',['has_writer',['../namespacerefl_1_1descriptor.html#a3677023906e7fb31d6267d4afdaeffde',1,'refl::descriptor']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/functions_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/functions_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['identity_306',['identity',['../namespacerefl_1_1util.html#aa9940e0488744c7466f3410f6acce07b',1,'refl::util']]], 4 | ['ignore_307',['ignore',['../namespacerefl_1_1util.html#a9ddab8c6121c2ff87a0694fe48e62914',1,'refl::util']]], 5 | ['invoke_308',['invoke',['../classrefl_1_1descriptor_1_1function__descriptor.html#a5f6c4091c03a8fb9d5f6459c686ea655',1,'refl::descriptor::function_descriptor::invoke()'],['../namespacerefl_1_1descriptor.html#ab17264f6fe5ef2e6f10a67304cb40e83',1,'refl::descriptor::invoke()'],['../namespacerefl_1_1runtime.html#a0831da0114fa506579224ce219d0ab50',1,'refl::runtime::invoke()']]], 6 | ['is_5fconst_309',['is_const',['../namespacerefl_1_1descriptor.html#a6127ab327b1e8f31062e9d0e2440a757',1,'refl::descriptor']]], 7 | ['is_5ffield_310',['is_field',['../namespacerefl_1_1descriptor.html#a1454a5c8702f245ceafaa9731026f7fe',1,'refl::descriptor']]], 8 | ['is_5ffunction_311',['is_function',['../namespacerefl_1_1descriptor.html#a76608e349f1f11d8e7eb5ccb759806a6',1,'refl::descriptor']]], 9 | ['is_5fproperty_312',['is_property',['../namespacerefl_1_1descriptor.html#a288a833843be97b2d80b51b1de886f99',1,'refl::descriptor']]], 10 | ['is_5freadable_313',['is_readable',['../namespacerefl_1_1descriptor.html#aa68bedab33d684ee5ee4ead24c5586ab',1,'refl::descriptor']]], 11 | ['is_5freflectable_314',['is_reflectable',['../namespacerefl.html#a12e0f11daf60216683e454102d247300',1,'refl::is_reflectable() noexcept'],['../namespacerefl.html#a988e607c536b5e75698d9f086909246c',1,'refl::is_reflectable(const T &) noexcept']]], 12 | ['is_5fresolved_315',['is_resolved',['../namespacerefl_1_1descriptor.html#a8d2afa6e939c641de9a9f184388341da',1,'refl::descriptor']]], 13 | ['is_5fstatic_316',['is_static',['../namespacerefl_1_1descriptor.html#a19a133a31fb133920609bba17fad68b2',1,'refl::descriptor']]], 14 | ['is_5ftype_317',['is_type',['../namespacerefl_1_1descriptor.html#abe2665e32dba32044036fa66303c12aa',1,'refl::descriptor']]], 15 | ['is_5fwritable_318',['is_writable',['../namespacerefl_1_1descriptor.html#a925e8cb99d6199fe03edeb5109958f8d',1,'refl::descriptor']]] 16 | ]; 17 | -------------------------------------------------------------------------------- /docs/search/functions_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/functions_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['make_5fconst_319',['make_const',['../namespacerefl_1_1util.html#ab419efb086dd5940b0f032810610e2fa',1,'refl::util::make_const(const T &value) noexcept'],['../namespacerefl_1_1util.html#a5acb0bd0c244bac6c75250660d0f37bd',1,'refl::util::make_const(T &value) noexcept']]], 4 | ['make_5fconst_5fstring_320',['make_const_string',['../namespacerefl_1_1util.html#a4902f2250ab00bb4884b348893fb7641',1,'refl::util::make_const_string() noexcept'],['../namespacerefl_1_1util.html#ad79e9e7d64a8511211dc01f0b74e4e17',1,'refl::util::make_const_string(const char(&str)[N]) noexcept'],['../namespacerefl_1_1util.html#af82b6c46a048b294ba533f7552d59bbf',1,'refl::util::make_const_string(char ch) noexcept']]], 5 | ['map_5fto_5farray_321',['map_to_array',['../namespacerefl_1_1util.html#af69ca2ba2b0353b7d3433f6a77b62902',1,'refl::util']]], 6 | ['map_5fto_5ftuple_322',['map_to_tuple',['../namespacerefl_1_1util.html#adb5bb478ef1cc5966e9df7c9b10b5dd3',1,'refl::util']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/functions_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/functions_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['operator_20const_20char_20_2a_323',['operator const char *',['../structrefl_1_1util_1_1const__string.html#a8f8b7b47319025b4007367b285849fbd',1,'refl::util::const_string']]], 4 | ['operator_21_3d_324',['operator!=',['../namespacerefl_1_1util.html#a44df4cd5b930d0ee80b2830097f213d7',1,'refl::util::operator!=(const const_string< N > &a, const const_string< M > &b) noexcept'],['../namespacerefl_1_1util.html#a28729c6245c3fec57d783ee3eb5dc6cd',1,'refl::util::operator!=(const const_string< N > &a, const char(&b)[M]) noexcept'],['../namespacerefl_1_1util.html#aad1d1867818badb7888668e7756c76be',1,'refl::util::operator!=(const char(&a)[N], const const_string< M > &b) noexcept']]], 5 | ['operator_28_29_325',['operator()',['../classrefl_1_1descriptor_1_1field__descriptor.html#af003db500839f3ca03b9408bcf76b009',1,'refl::descriptor::field_descriptor::operator()()'],['../classrefl_1_1descriptor_1_1function__descriptor.html#a2b9b03211b3a7c0f0fcd1c760579008e',1,'refl::descriptor::function_descriptor::operator()()']]], 6 | ['operator_2b_326',['operator+',['../namespacerefl_1_1util.html#aeb53039f8928d4e4a207407a865034f0',1,'refl::util::operator+(const const_string< N > &a, const const_string< M > &b) noexcept'],['../namespacerefl_1_1util.html#aa16ab2db12eb07f30ea39f2d94787486',1,'refl::util::operator+(const const_string< N > &a, const char(&b)[M]) noexcept'],['../namespacerefl_1_1util.html#a199ad5af9e6ac09eba8eaa6a159b8209',1,'refl::util::operator+(const char(&a)[N], const const_string< M > &b) noexcept']]], 7 | ['operator_3c_3c_327',['operator<<',['../namespacerefl_1_1util.html#a6f75b02aaddfc2beafcbf1fadedae865',1,'refl::util']]], 8 | ['operator_3d_3d_328',['operator==',['../namespacerefl_1_1util.html#ae0b3daa04427017785fc8f2c793837af',1,'refl::util::operator==(const const_string< N > &a, const const_string< M > &b) noexcept'],['../namespacerefl_1_1util.html#a7ca109d4c938be71f874a416712ddcc6',1,'refl::util::operator==(const const_string< N > &a, const char(&b)[M]) noexcept'],['../namespacerefl_1_1util.html#a1d84159539d36286560bb12d8bb96dc0',1,'refl::util::operator==(const char(&a)[N], const const_string< M > &b) noexcept']]], 9 | ['string_329',['string',['../structrefl_1_1util_1_1const__string.html#a824c47b1e7641a471b30a519d0a99f74',1,'refl::util::const_string']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /docs/search/functions_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/functions_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['property_330',['property',['../structrefl_1_1attr_1_1property.html#a9d0c531c6eead628be9a0c3789d0c73c',1,'refl::attr::property::property() noexcept'],['../structrefl_1_1attr_1_1property.html#aeb55e70be282efc6f9d33718378b3e60',1,'refl::attr::property::property(const char *friendly_name) noexcept']]], 4 | ['proxy_331',['proxy',['../structrefl_1_1runtime_1_1proxy.html#aa35d06ce63700a4bde6f31cd640fcc5f',1,'refl::runtime::proxy']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/functions_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/functions_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['reflect_332',['reflect',['../namespacerefl.html#ae95fbc2d63a7db5ce4d8a4dcca3d637e',1,'refl::reflect() noexcept'],['../namespacerefl.html#a5a70ee908d690769979f0aa9f57eb3e9',1,'refl::reflect(const T &) noexcept']]], 4 | ['reflect_5ftypes_333',['reflect_types',['../namespacerefl_1_1util.html#a7dfb7f94fdcfc69947d40143b3a07d65',1,'refl::util']]], 5 | ['resolve_334',['resolve',['../classrefl_1_1descriptor_1_1function__descriptor.html#a7f8b63e35466c3c2887f601272d9f0a0',1,'refl::descriptor::function_descriptor::resolve()'],['../namespacerefl_1_1descriptor.html#a1a0a7b34d1892fffb8355aaeff29c750',1,'refl::descriptor::resolve()']]], 6 | ['rfind_335',['rfind',['../structrefl_1_1util_1_1const__string.html#a7c2eae7ebfae9fcc1716d7872ebb2574',1,'refl::util::const_string']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/functions_b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/functions_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['str_336',['str',['../structrefl_1_1util_1_1const__string.html#a25bdf3f17b20a34f25f4bd7b624c6aa7',1,'refl::util::const_string']]], 4 | ['substr_337',['substr',['../structrefl_1_1util_1_1const__string.html#ac43d0430fdf61b1fb9fe62bb61457d68',1,'refl::util::const_string']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/functions_c.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/functions_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['to_5farray_338',['to_array',['../namespacerefl_1_1util.html#a6ebcdc8886ed6cf62bd914eb9566882a',1,'refl::util']]], 4 | ['to_5ftuple_339',['to_tuple',['../namespacerefl_1_1util.html#af7db9918de2fd9e0d34caf4b6a5c1f77',1,'refl::util']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/functions_d.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/functions_d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['unreflect_5ftypes_340',['unreflect_types',['../namespacerefl_1_1util.html#ad67a3c06ac31131661f1fb1cee670fbc',1,'refl::util']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/mag_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/search/mag_sel.png -------------------------------------------------------------------------------- /docs/search/namespaces_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/namespaces_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['attr_248',['attr',['../namespacerefl_1_1attr.html',1,'refl']]], 4 | ['descriptor_249',['descriptor',['../namespacerefl_1_1descriptor.html',1,'refl']]], 5 | ['member_250',['member',['../namespacerefl_1_1member.html',1,'refl']]], 6 | ['refl_251',['refl',['../namespacerefl.html',1,'']]], 7 | ['runtime_252',['runtime',['../namespacerefl_1_1runtime.html',1,'refl']]], 8 | ['trait_253',['trait',['../namespacerefl_1_1trait.html',1,'refl']]], 9 | ['usage_254',['usage',['../namespacerefl_1_1attr_1_1usage.html',1,'refl::attr']]], 10 | ['util_255',['util',['../namespacerefl_1_1util.html',1,'refl']]] 11 | ]; 12 | -------------------------------------------------------------------------------- /docs/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 |
No Matches
10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/search/pages_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/pages_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['changelog_409',['Changelog',['../md__c_h_a_n_g_e_l_o_g.html',1,'']]], 4 | ['contributor_20covenant_20code_20of_20conduct_410',['Contributor Covenant Code of Conduct',['../md__c_o_d_e__o_f__c_o_n_d_u_c_t.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/pages_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/pages_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['deprecated_20list_411',['Deprecated List',['../deprecated.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/pages_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/pages_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['introduction_20to_20refl_2dcpp_412',['Introduction to refl-cpp',['../md__introduction.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/pages_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/pages_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['readme_413',['README',['../md__r_e_a_d_m_e.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/search/search_l.png -------------------------------------------------------------------------------- /docs/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/search/search_m.png -------------------------------------------------------------------------------- /docs/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/search/search_r.png -------------------------------------------------------------------------------- /docs/search/searchdata.js: -------------------------------------------------------------------------------- 1 | var indexSectionsWithContent = 2 | { 3 | 0: "abcdfghilmnoprstuvw", 4 | 1: "abcdfgimprstu", 5 | 2: "r", 6 | 3: "cir", 7 | 4: "acdfghimoprstu", 8 | 5: "abdfilmnpsvw", 9 | 6: "abcdfgilmprstuv", 10 | 7: "r", 11 | 8: "cdir" 12 | }; 13 | 14 | var indexSectionNames = 15 | { 16 | 0: "all", 17 | 1: "classes", 18 | 2: "namespaces", 19 | 3: "files", 20 | 4: "functions", 21 | 5: "variables", 22 | 6: "typedefs", 23 | 7: "defines", 24 | 8: "pages" 25 | }; 26 | 27 | var indexSectionLabels = 28 | { 29 | 0: "All", 30 | 1: "Classes", 31 | 2: "Namespaces", 32 | 3: "Files", 33 | 4: "Functions", 34 | 5: "Variables", 35 | 6: "Typedefs", 36 | 7: "Macros", 37 | 8: "Pages" 38 | }; 39 | 40 | -------------------------------------------------------------------------------- /docs/search/typedefs_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/typedefs_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['append_5ft_361',['append_t',['../namespacerefl_1_1trait.html#a644910ba9f353221e50e2541a492e5cc',1,'refl::trait']]], 4 | ['as_5ftuple_5ft_362',['as_tuple_t',['../namespacerefl_1_1trait.html#a7528d00a7777f3ea5bae8b6bb2814b26',1,'refl::trait']]], 5 | ['as_5ftype_5flist_5ft_363',['as_type_list_t',['../namespacerefl_1_1trait.html#ae2279db43338368acb8af9ade961a504',1,'refl::trait']]], 6 | ['attribute_5ftypes_364',['attribute_types',['../classrefl_1_1descriptor_1_1member__descriptor__base.html#ae8eb41df4e6d17f6e223f8ed5abe581d',1,'refl::descriptor::member_descriptor_base::attribute_types()'],['../classrefl_1_1descriptor_1_1type__descriptor.html#a0b45390046a31d03e076aa44899005a4',1,'refl::descriptor::type_descriptor::attribute_types()']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/typedefs_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/typedefs_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['base_5ftypes_365',['base_types',['../classrefl_1_1descriptor_1_1type__descriptor.html#ab2c94fbeba96fd5d7259ee3843e5ddbe',1,'refl::descriptor::type_descriptor']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/typedefs_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/typedefs_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['concat_5ft_366',['concat_t',['../namespacerefl_1_1trait.html#a7cb4edd88d696f71ecbdc82783c6ded2',1,'refl::trait']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/typedefs_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/typedefs_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['declared_5fbase_5ftypes_367',['declared_base_types',['../classrefl_1_1descriptor_1_1type__descriptor.html#ac15c7097cb5c702c83802465cd364c3c',1,'refl::descriptor::type_descriptor']]], 4 | ['declared_5fmember_5flist_368',['declared_member_list',['../namespacerefl_1_1descriptor.html#a8c50bc8b2fa157709ed2453246d0f9a0',1,'refl::descriptor']]], 5 | ['declared_5fmember_5ftypes_369',['declared_member_types',['../classrefl_1_1descriptor_1_1type__descriptor.html#a0974752f92b74a055bc9d8335d493fdf',1,'refl::descriptor::type_descriptor']]], 6 | ['declaring_5ftype_370',['declaring_type',['../classrefl_1_1descriptor_1_1member__descriptor__base.html#af70beb1e0da54d076535cd8fb3dd5381',1,'refl::descriptor::member_descriptor_base']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/typedefs_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/typedefs_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['filter_5ft_371',['filter_t',['../namespacerefl_1_1trait.html#afb7c8b735416e75efa6443d59fe46493',1,'refl::trait']]], 4 | ['first_372',['first',['../namespacerefl_1_1trait.html#ab4aae36e6ff8c6d3adb2cc91ba985e80',1,'refl::trait']]], 5 | ['first_5ft_373',['first_t',['../namespacerefl_1_1trait.html#a8c142f0b5a366ee8b67c0009fa01c9d2',1,'refl::trait']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/typedefs_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/typedefs_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['get_5ft_374',['get_t',['../namespacerefl_1_1trait.html#a90fc62b3597ebdeda8040ff78c0628c3',1,'refl::trait']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/typedefs_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/typedefs_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['init_375',['init',['../namespacerefl_1_1trait.html#ae0240bb2e53db6d575271a9d5ebb8e85',1,'refl::trait']]], 4 | ['init_5ft_376',['init_t',['../namespacerefl_1_1trait.html#a73d3d356c430a7247749d0fb7fb037af',1,'refl::trait']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/typedefs_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/typedefs_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['last_377',['last',['../namespacerefl_1_1trait.html#a11002f7ba1b41398115b0b102c0bacf0',1,'refl::trait']]], 4 | ['last_5ft_378',['last_t',['../namespacerefl_1_1trait.html#a2260f346ec8347a51e5f40c626bb0e07',1,'refl::trait']]], 5 | ['list_5ftype_379',['list_type',['../structrefl_1_1attr_1_1base__types.html#a5bf13a7cf1300a7fec27ea0918a86adc',1,'refl::attr::base_types']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/typedefs_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/typedefs_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['map_5ft_380',['map_t',['../namespacerefl_1_1trait.html#a27b580a856a2aedc8487f28a4ded1c03',1,'refl::trait']]], 4 | ['member_381',['member',['../classrefl_1_1descriptor_1_1member__descriptor__base.html#a04376d3b487a104c34065345ce477e88',1,'refl::descriptor::member_descriptor_base']]], 5 | ['member_5flist_382',['member_list',['../namespacerefl_1_1descriptor.html#a50b88518840c2acd134a2171795bd7c3',1,'refl::descriptor']]], 6 | ['member_5ftype_383',['member_type',['../classrefl_1_1descriptor_1_1member__descriptor__base.html#a098cba21d2e91ee593b59573295b04d4',1,'refl::descriptor::member_descriptor_base']]], 7 | ['member_5ftypes_384',['member_types',['../classrefl_1_1descriptor_1_1type__descriptor.html#abced96d86e87fce0968b1a9c9c2df561',1,'refl::descriptor::type_descriptor']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/search/typedefs_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/typedefs_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['prepend_5ft_385',['prepend_t',['../namespacerefl_1_1trait.html#ab8b29546446a5c8334ee733b161e6f3e',1,'refl::trait']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/typedefs_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/typedefs_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['remove_5fqualifiers_5ft_386',['remove_qualifiers_t',['../namespacerefl_1_1trait.html#a281a1cb4e19fe3ff645e48867aa8daf1',1,'refl::trait']]], 4 | ['result_5ftype_387',['result_type',['../namespacerefl_1_1descriptor.html#a99b739222556b1550c354fe00fe7ed38',1,'refl::descriptor']]], 5 | ['return_5ftype_388',['return_type',['../classrefl_1_1descriptor_1_1function__descriptor.html#a7f6f665c1d51087c1aa253eaf3edbeae',1,'refl::descriptor::function_descriptor']]], 6 | ['reverse_5ft_389',['reverse_t',['../namespacerefl_1_1trait.html#a07f78f44c53134d640b52d34ca1d9031',1,'refl::trait']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/typedefs_b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/typedefs_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['skip_5ft_390',['skip_t',['../namespacerefl_1_1trait.html#a5cfe5ce0bb235343bab9b69d5115a738',1,'refl::trait']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/typedefs_c.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/typedefs_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['tail_391',['tail',['../namespacerefl_1_1trait.html#a38acd7e400afcfd16d25d5c6ae09e65a',1,'refl::trait']]], 4 | ['tail_5ft_392',['tail_t',['../namespacerefl_1_1trait.html#a96df3c32bb1b2672b5909aa9cca42cf9',1,'refl::trait']]], 5 | ['take_393',['take',['../namespacerefl_1_1trait.html#ab9ae2dbbb031faf63f04ffd59f476140',1,'refl::trait']]], 6 | ['take_5ft_394',['take_t',['../namespacerefl_1_1trait.html#a08a7c33d3ef1f336360a68af8f14bc44',1,'refl::trait']]], 7 | ['target_5ftype_395',['target_type',['../structrefl_1_1runtime_1_1proxy.html#a81d8bc1490cfcbfc4ac3cbbcbb299393',1,'refl::runtime::proxy']]], 8 | ['type_396',['type',['../structrefl_1_1util_1_1type__list_3_01_t_01_4.html#a5b8f143671b0f6ce8c7675b5b905817c',1,'refl::util::type_list< T >::type()'],['../structrefl_1_1trait_1_1remove__qualifiers.html#a39800dbc8004ea52c246cdda69f4d409',1,'refl::trait::remove_qualifiers::type()'],['../structrefl_1_1trait_1_1as__type__list_3_01_t_3_01_ts_8_8_8_01_4_01_4.html#a83bf2f383c12d5294c40d3f91400f118',1,'refl::trait::as_type_list< T< Ts... > >::type()'],['../structrefl_1_1trait_1_1as__tuple_3_01_t_3_01_ts_8_8_8_01_4_01_4.html#a3e95f7ce1f7fc859ecf26fc145926995',1,'refl::trait::as_tuple< T< Ts... > >::type()'],['../structrefl_1_1trait_1_1filter_3_01_predicate_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html#adb3370c903a75a6e3cc0d41fdc3c70bc',1,'refl::trait::filter< Predicate, type_list< Ts... > >::type()'],['../structrefl_1_1trait_1_1map_3_01_mapper_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html#aadf599e0604372e946f11d1b00f657d1',1,'refl::trait::map< Mapper, type_list< Ts... > >::type()'],['../classrefl_1_1descriptor_1_1type__descriptor.html#a38599f7e777bda08453cdc4387c03708',1,'refl::descriptor::type_descriptor::type()']]], 9 | ['type_5ftag_397',['type_tag',['../namespacerefl_1_1util.html#ae902b69e9d164cdf4b6ba5c76eed1825',1,'refl::util']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /docs/search/typedefs_d.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/typedefs_d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['unique_5ft_398',['unique_t',['../namespacerefl_1_1trait.html#ace2b39ac60915978d350f5921c7e5a47',1,'refl::trait']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/typedefs_e.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/typedefs_e.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['value_5ftype_399',['value_type',['../classrefl_1_1descriptor_1_1field__descriptor.html#afcc7c5c7e2ee1a67cab3a6b526d092d2',1,'refl::descriptor::field_descriptor']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/variables_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['attributes_341',['attributes',['../classrefl_1_1descriptor_1_1member__descriptor__base.html#a410121cb42388625a57cfb910d31cdb7',1,'refl::descriptor::member_descriptor_base::attributes()'],['../classrefl_1_1descriptor_1_1type__descriptor.html#ad71db44823dc75bcdd6bcd98449bab31',1,'refl::descriptor::type_descriptor::attributes()']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/variables_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['bases_342',['bases',['../classrefl_1_1descriptor_1_1type__descriptor.html#a49cb64fdc7142034426db38142cfa67b',1,'refl::descriptor::type_descriptor']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/variables_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['data_343',['data',['../structrefl_1_1util_1_1const__string.html#a8ee1a2f4b8fd6d71b7556661f379426a',1,'refl::util::const_string']]], 4 | ['declarator_344',['declarator',['../classrefl_1_1descriptor_1_1member__descriptor__base.html#a80719a0106e9f454c29c8363c0e694e4',1,'refl::descriptor::member_descriptor_base']]], 5 | ['declared_5fbases_345',['declared_bases',['../classrefl_1_1descriptor_1_1type__descriptor.html#a47c4ff48babd4b3c949a9f20fd4cfca2',1,'refl::descriptor::type_descriptor']]], 6 | ['declared_5fmembers_346',['declared_members',['../classrefl_1_1descriptor_1_1type__descriptor.html#a49d984bc4bcb37717d3dc95a1815a4ba',1,'refl::descriptor::type_descriptor']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/variables_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/variables_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['friendly_5fname_347',['friendly_name',['../structrefl_1_1attr_1_1property.html#a8c45f77ef5159115250f2294bd37d296',1,'refl::attr::property']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/variables_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['is_5fresolved_348',['is_resolved',['../classrefl_1_1descriptor_1_1function__descriptor.html#a338ea7515da170e4f31c77b2c6857b45',1,'refl::descriptor::function_descriptor']]], 4 | ['is_5fstatic_349',['is_static',['../classrefl_1_1descriptor_1_1field__descriptor.html#a955e6c913b0427ccfaf99716d22b4f5b',1,'refl::descriptor::field_descriptor']]], 5 | ['is_5ftype_5fv_350',['is_type_v',['../namespacerefl_1_1trait.html#a9c31605a5aef99561286104c9a3da628',1,'refl::trait']]], 6 | ['is_5fwritable_351',['is_writable',['../classrefl_1_1descriptor_1_1field__descriptor.html#a637571eacbfda7d622f4b9b2a555b7cd',1,'refl::descriptor::field_descriptor']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/variables_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/variables_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['list_352',['list',['../structrefl_1_1attr_1_1base__types.html#a1de0c6ee5fa8bf39070b6163ad6ea29d',1,'refl::attr::base_types']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/variables_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['members_353',['members',['../classrefl_1_1descriptor_1_1type__descriptor.html#a48f1fddd822d40866a30bf1ebd60fa1a',1,'refl::descriptor::type_descriptor']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/variables_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['name_354',['name',['../classrefl_1_1descriptor_1_1member__descriptor__base.html#a5d009e0abbaad1707d6cdb5cf743f18b',1,'refl::descriptor::member_descriptor_base::name()'],['../classrefl_1_1descriptor_1_1type__descriptor.html#a2593e5ff02d41a4a4c0d45194c21ac6b',1,'refl::descriptor::type_descriptor::name()']]], 4 | ['npos_355',['npos',['../structrefl_1_1util_1_1const__string.html#abad5b68a7c03fcccc05acb4468edb0e6',1,'refl::util::const_string']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/variables_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/variables_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['pointer_356',['pointer',['../classrefl_1_1descriptor_1_1field__descriptor.html#ad5a2424645cac6591a1e9cdd66a4a994',1,'refl::descriptor::field_descriptor::pointer()'],['../classrefl_1_1descriptor_1_1function__descriptor.html#a6e18ad19be31eb26acfe1e84fd320c36',1,'refl::descriptor::function_descriptor::pointer()']]], 4 | ['proxy_357',['proxy',['../namespacerefl_1_1runtime.html#a10ea7c32cad8eb5cc0512f774a65da04',1,'refl::runtime']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/variables_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/variables_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['size_358',['size',['../structrefl_1_1util_1_1const__string.html#a426d87f33a7778a82e1169bd9de752e0',1,'refl::util::const_string::size()'],['../structrefl_1_1util_1_1type__list.html#ac0814fc38f041e46d2ab9258213910f3',1,'refl::util::type_list::size()'],['../structrefl_1_1util_1_1type__list_3_01_t_01_4.html#a2c3cf22f32a610a070a248353cb8e89e',1,'refl::util::type_list< T >::size()']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/variables_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['value_359',['value',['../structrefl_1_1trait_1_1is__proxy.html#a50e3e48d3a4a9893b363b731d02be31e',1,'refl::trait::is_proxy']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 18 |
Searching...
19 |
No Matches
20 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/search/variables_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['write_360',['write',['../structrefl_1_1attr_1_1debug.html#a58a9c166189b75b1d482fc2f7e0336d9',1,'refl::attr::debug']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/splitbar.png -------------------------------------------------------------------------------- /docs/structrefl_1_1attr_1_1base__types.js: -------------------------------------------------------------------------------- 1 | var structrefl_1_1attr_1_1base__types = 2 | [ 3 | [ "list_type", "structrefl_1_1attr_1_1base__types.html#a5bf13a7cf1300a7fec27ea0918a86adc", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/structrefl_1_1attr_1_1debug.js: -------------------------------------------------------------------------------- 1 | var structrefl_1_1attr_1_1debug = 2 | [ 3 | [ "debug", "structrefl_1_1attr_1_1debug.html#a728cae0e89dc7148a607ffa66b12bbb3", null ], 4 | [ "write", "structrefl_1_1attr_1_1debug.html#a58a9c166189b75b1d482fc2f7e0336d9", null ] 5 | ]; -------------------------------------------------------------------------------- /docs/structrefl_1_1attr_1_1property.js: -------------------------------------------------------------------------------- 1 | var structrefl_1_1attr_1_1property = 2 | [ 3 | [ "property", "structrefl_1_1attr_1_1property.html#a9d0c531c6eead628be9a0c3789d0c73c", null ], 4 | [ "property", "structrefl_1_1attr_1_1property.html#aeb55e70be282efc6f9d33718378b3e60", null ], 5 | [ "friendly_name", "structrefl_1_1attr_1_1property.html#a8c45f77ef5159115250f2294bd37d296", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/structrefl_1_1runtime_1_1proxy.js: -------------------------------------------------------------------------------- 1 | var structrefl_1_1runtime_1_1proxy = 2 | [ 3 | [ "target_type", "structrefl_1_1runtime_1_1proxy.html#a81d8bc1490cfcbfc4ac3cbbcbb299393", null ], 4 | [ "proxy", "structrefl_1_1runtime_1_1proxy.html#aa35d06ce63700a4bde6f31cd640fcc5f", null ] 5 | ]; -------------------------------------------------------------------------------- /docs/structrefl_1_1trait_1_1as__tuple_3_01_t_3_01_ts_8_8_8_01_4_01_4.js: -------------------------------------------------------------------------------- 1 | var structrefl_1_1trait_1_1as__tuple_3_01_t_3_01_ts_8_8_8_01_4_01_4 = 2 | [ 3 | [ "type", "structrefl_1_1trait_1_1as__tuple_3_01_t_3_01_ts_8_8_8_01_4_01_4.html#a3e95f7ce1f7fc859ecf26fc145926995", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/structrefl_1_1trait_1_1as__type__list_3_01_t_3_01_ts_8_8_8_01_4_01_4.js: -------------------------------------------------------------------------------- 1 | var structrefl_1_1trait_1_1as__type__list_3_01_t_3_01_ts_8_8_8_01_4_01_4 = 2 | [ 3 | [ "type", "structrefl_1_1trait_1_1as__type__list_3_01_t_3_01_ts_8_8_8_01_4_01_4.html#a83bf2f383c12d5294c40d3f91400f118", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/structrefl_1_1trait_1_1filter_3_01_predicate_00_01type__list_3_01_ts_8_8_8_01_4_01_4.js: -------------------------------------------------------------------------------- 1 | var structrefl_1_1trait_1_1filter_3_01_predicate_00_01type__list_3_01_ts_8_8_8_01_4_01_4 = 2 | [ 3 | [ "type", "structrefl_1_1trait_1_1filter_3_01_predicate_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html#adb3370c903a75a6e3cc0d41fdc3c70bc", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/structrefl_1_1trait_1_1map_3_01_mapper_00_01type__list_3_01_ts_8_8_8_01_4_01_4.js: -------------------------------------------------------------------------------- 1 | var structrefl_1_1trait_1_1map_3_01_mapper_00_01type__list_3_01_ts_8_8_8_01_4_01_4 = 2 | [ 3 | [ "type", "structrefl_1_1trait_1_1map_3_01_mapper_00_01type__list_3_01_ts_8_8_8_01_4_01_4.html#aadf599e0604372e946f11d1b00f657d1", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/structrefl_1_1trait_1_1remove__qualifiers.js: -------------------------------------------------------------------------------- 1 | var structrefl_1_1trait_1_1remove__qualifiers = 2 | [ 3 | [ "type", "structrefl_1_1trait_1_1remove__qualifiers.html#a39800dbc8004ea52c246cdda69f4d409", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/structrefl_1_1util_1_1const__string.js: -------------------------------------------------------------------------------- 1 | var structrefl_1_1util_1_1const__string = 2 | [ 3 | [ "const_string", "structrefl_1_1util_1_1const__string.html#ac378ca52c38cc6ccc04cab0b73b1f805", null ], 4 | [ "const_string", "structrefl_1_1util_1_1const__string.html#a5ae4b17a4b57f0542f63ae01734f1d86", null ], 5 | [ "const_string", "structrefl_1_1util_1_1const__string.html#abd5ad22466e3c3513257bde29683e0e4", null ], 6 | [ "c_str", "structrefl_1_1util_1_1const__string.html#a465086c5ae8e245358ce44ed8154c986", null ], 7 | [ "find", "structrefl_1_1util_1_1const__string.html#a90d93009e7ae4bccec928c9342b197af", null ], 8 | [ "operator const char *", "structrefl_1_1util_1_1const__string.html#a8f8b7b47319025b4007367b285849fbd", null ], 9 | [ "operator std::string", "structrefl_1_1util_1_1const__string.html#a824c47b1e7641a471b30a519d0a99f74", null ], 10 | [ "rfind", "structrefl_1_1util_1_1const__string.html#a7c2eae7ebfae9fcc1716d7872ebb2574", null ], 11 | [ "str", "structrefl_1_1util_1_1const__string.html#a25bdf3f17b20a34f25f4bd7b624c6aa7", null ], 12 | [ "substr", "structrefl_1_1util_1_1const__string.html#ac43d0430fdf61b1fb9fe62bb61457d68", null ], 13 | [ "data", "structrefl_1_1util_1_1const__string.html#a8ee1a2f4b8fd6d71b7556661f379426a", null ] 14 | ]; -------------------------------------------------------------------------------- /docs/structrefl_1_1util_1_1type__list_3_01_t_01_4.js: -------------------------------------------------------------------------------- 1 | var structrefl_1_1util_1_1type__list_3_01_t_01_4 = 2 | [ 3 | [ "type", "structrefl_1_1util_1_1type__list_3_01_t_01_4.html#a5b8f143671b0f6ce8c7675b5b905817c", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/sync_off.png -------------------------------------------------------------------------------- /docs/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/sync_on.png -------------------------------------------------------------------------------- /docs/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/tab_a.png -------------------------------------------------------------------------------- /docs/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/tab_b.png -------------------------------------------------------------------------------- /docs/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/tab_h.png -------------------------------------------------------------------------------- /docs/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/docs/tab_s.png -------------------------------------------------------------------------------- /examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.14) 2 | 3 | project(refl-cpp-examples CXX) 4 | 5 | if(refl-cpp_EXAMPLES_USE_INSTALLED) 6 | find_package(refl-cpp REQUIRED) 7 | endif() 8 | 9 | set( 10 | examples 11 | binding 12 | builders 13 | custom-rtti 14 | dao 15 | inheritance 16 | # macro 17 | partials 18 | proxy 19 | serialization 20 | struct-of-arrays 21 | ) 22 | 23 | foreach(example IN LISTS examples) 24 | add_executable("${example}" "example-${example}.cpp") 25 | target_link_libraries("${example}" PRIVATE refl-cpp::refl-cpp) 26 | target_compile_features("${example}" PRIVATE cxx_std_17) 27 | endforeach() 28 | -------------------------------------------------------------------------------- /examples/example-inheritance.cpp: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * ***README*** 4 | * This example showcases the new inheritance-related features introduced in v0.11.0. 5 | * Here we have a simple single-inheritance heirarchy (but multiple inheritance is also supported). 6 | * The base type Animal, defined a function in its metadata declaration. This metadata is then inherited 7 | * by the derived classes of the Animal class. The base class of a class is specified with a bases<> attribute. 8 | */ 9 | #include 10 | #include "refl.hpp" 11 | 12 | class Animal 13 | { 14 | public: 15 | virtual std::string get_species() const = 0; 16 | }; 17 | 18 | REFL_AUTO( 19 | type(Animal), 20 | func(get_species, property()) 21 | ) 22 | 23 | class Wolf : public Animal 24 | { 25 | public: 26 | std::string get_species() const override 27 | { 28 | return "Canis lupus"; 29 | } 30 | }; 31 | 32 | REFL_AUTO(type(Wolf, bases)) 33 | 34 | class Dog : public Wolf 35 | { 36 | public: 37 | std::string get_species() const override 38 | { 39 | return "Canis lupus familiaris"; 40 | } 41 | }; 42 | 43 | REFL_AUTO(type(Dog, bases)) 44 | 45 | template 46 | void print_bases() 47 | { 48 | constexpr auto type = refl::reflect(); 49 | std::cout << type.name << " inherits from "; 50 | 51 | if constexpr (type.declared_bases.size) 52 | { 53 | for_each(reflect_types(type.declared_bases), [](auto t) 54 | { 55 | std::cout << t.name << " "; 56 | }); 57 | std::cout << '\n'; 58 | } 59 | else 60 | { 61 | std::cout << "nothing\n"; 62 | } 63 | } 64 | 65 | int main() 66 | { 67 | print_bases(); 68 | print_bases(); 69 | print_bases(); 70 | 71 | Dog d{}; 72 | std::cout << "type Dog:\n"; 73 | for_each(refl::reflect().members, [&](auto member) { 74 | std::cout << " " << get_display_name(member) << " (" << member.name << ") = "; 75 | refl::runtime::debug(std::cout, member(d)); 76 | std::cout << "\n"; 77 | }); 78 | } -------------------------------------------------------------------------------- /screenshots/builders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/screenshots/builders.png -------------------------------------------------------------------------------- /screenshots/introspection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veselink1/refl-cpp/27fbd7d2e6d86bc135b87beef6b5f7ce53afd4fc/screenshots/introspection.png -------------------------------------------------------------------------------- /test/010-TestCase.cpp: -------------------------------------------------------------------------------- 1 | #include "020-ConstString.hpp" 2 | #include "030-TypeList.hpp" 3 | #include "040-TypeTraits.hpp" 4 | #include "050-Attributes.hpp" 5 | #include "060-Utils.hpp" 6 | #include "070-Descriptors.hpp" 7 | #include "080-Runtime.hpp" 8 | #include "090-StdTypes.hpp" 9 | -------------------------------------------------------------------------------- /test/020-ConstString.hpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "refl.hpp" 3 | #include "extern/catch2/catch.hpp" 4 | 5 | using namespace refl; 6 | 7 | TEST_CASE( "const string" ) { 8 | 9 | const_string<5> hello {"Hello"}; 10 | 11 | SECTION( "basic properties" ) { 12 | REQUIRE( const_string<0>::npos == std::string::npos ); 13 | REQUIRE( hello.size == 5 ); 14 | REQUIRE( hello.c_str() == std::string("Hello") ); 15 | REQUIRE( hello.str() == "Hello" ); 16 | } 17 | 18 | SECTION( "comparison operators" ) { 19 | REQUIRE( hello == const_string<5>{"Hello"} ); 20 | REQUIRE( hello != const_string<5>{"elloH"} ); 21 | REQUIRE( hello != const_string<4>{"Hell"} ); 22 | } 23 | 24 | SECTION( "creating const_strings from sized literals" ) { 25 | REQUIRE( make_const_string() == "" ); 26 | REQUIRE( make_const_string("Hello") == hello ); 27 | } 28 | 29 | constexpr const char* HELLO = "Hello"; 30 | 31 | SECTION( "creating const_strings from char*" ) { 32 | constexpr auto str = REFL_MAKE_CONST_STRING(HELLO); 33 | REQUIRE( str.size == 5 ); 34 | REQUIRE( str == "Hello" ); 35 | REQUIRE( str != "Hell" ); 36 | } 37 | 38 | SECTION( "creating substrings" ) { 39 | REQUIRE( make_const_string().template substr<0>() == "" ); 40 | REQUIRE( make_const_string().template substr<0, 0>() == "" ); 41 | REQUIRE( make_const_string().template substr<0, 50>() == "" ); 42 | REQUIRE( make_const_string("Hello").template substr<1>() == "ello" ); 43 | REQUIRE( make_const_string("Hello").template substr<1, 3>() == "ell" ); 44 | } 45 | 46 | SECTION( "searching" ) { 47 | REQUIRE( make_const_string("Hello").find('e') == 1 ); 48 | REQUIRE( make_const_string("Hello").find('l') == 2 ); 49 | REQUIRE( make_const_string("Hello").find('w') == static_cast(-1) ); 50 | REQUIRE( make_const_string("Hello").find('l', 3) == 3 ); 51 | 52 | REQUIRE( make_const_string("Hello").rfind('e') == 1 ); 53 | REQUIRE( make_const_string("Hello").rfind('l') == 3 ); 54 | REQUIRE( make_const_string("Hello").rfind('w') == static_cast(-1) ); 55 | REQUIRE( make_const_string("Hello").rfind('l', 3) == 3 ); 56 | } 57 | 58 | } -------------------------------------------------------------------------------- /test/030-TypeList.hpp: -------------------------------------------------------------------------------- 1 | #include "refl.hpp" 2 | #include "extern/catch2/catch.hpp" 3 | 4 | using namespace refl; 5 | 6 | TEST_CASE( "type list" ) { 7 | 8 | SECTION( "basic properties" ) { 9 | REQUIRE( type_list<>::size == 0 ); 10 | REQUIRE( type_list::size == 1 ); 11 | REQUIRE( type_list::size == 2 ); 12 | 13 | REQUIRE( type_tag::size == 1 ); 14 | REQUIRE( std::is_same_v, type_list> ); 15 | REQUIRE( std::is_same_v::type, int> ); 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /test/080-Runtime.hpp: -------------------------------------------------------------------------------- 1 | #include "refl.hpp" 2 | #include "extern/catch2/catch.hpp" 3 | 4 | using namespace refl; 5 | 6 | struct Bar { 7 | int x; 8 | float* y; 9 | const char z; 10 | 11 | void f() {} 12 | void f(int) {} 13 | int g(int) { return 0; } 14 | }; 15 | 16 | REFL_TYPE(Bar) 17 | REFL_FIELD(x) 18 | REFL_FIELD(y) 19 | REFL_FIELD(z) 20 | 21 | REFL_FUNC(f) 22 | REFL_FUNC(g) 23 | REFL_END 24 | 25 | struct BarBar { 26 | Bar bar{}; 27 | void* vp{nullptr}; 28 | int* ip = new int(0); 29 | std::string str = "Hi!"; 30 | std::vector bars{ {}, {} }; 31 | }; 32 | 33 | REFL_TYPE(BarBar) 34 | REFL_FIELD(bar) 35 | REFL_FIELD(vp) 36 | REFL_FIELD(ip) 37 | REFL_FIELD(str) 38 | REFL_FIELD(bars) 39 | REFL_END 40 | 41 | template 42 | struct dummy_proxy : refl::runtime::proxy, T> 43 | { 44 | constexpr dummy_proxy() {} 45 | 46 | template 47 | static constexpr int invoke_impl(...) 48 | { 49 | return 0; 50 | } 51 | }; 52 | 53 | TEST_CASE( "runtime utils" ) { 54 | 55 | SECTION( "proxies" ) { 56 | dummy_proxy pa; 57 | REQUIRE( pa.y() == 0 ); 58 | REQUIRE( pa.f(1) == 0 ); 59 | REQUIRE( util::make_const(pa).f(1) == 0 ); 60 | 61 | REQUIRE( trait::is_proxy_v> ); 62 | REQUIRE( !trait::is_proxy_v ); 63 | 64 | dummy_proxy sb; 65 | dummy_proxy sd; 66 | 67 | ShadowingDerived{}.foo(); 68 | sd.foo(); 69 | sd.baz(); 70 | } 71 | 72 | SECTION( "debug" ) { 73 | REQUIRE( runtime::debug_str(Bar{}).find("x = ") != std::string::npos ); 74 | REQUIRE( runtime::debug_str(Bar{}).find("y = ") != std::string::npos ); 75 | REQUIRE( runtime::debug_str(Bar{}).find("y = ") != std::string::npos ); 76 | } 77 | 78 | SECTION( "invoke" ) { 79 | REQUIRE( runtime::invoke(Bar{}, "x", 1) == 1 ); 80 | runtime::invoke(Bar{}, "f"); 81 | } 82 | 83 | } -------------------------------------------------------------------------------- /test/090-StdTypes.hpp: -------------------------------------------------------------------------------- 1 | #include "refl.hpp" 2 | #include "extern/catch2/catch.hpp" 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | using namespace refl; 11 | 12 | TEST_CASE( "built-in support for standard types" ) { 13 | 14 | SECTION( "std::exception" ) { 15 | REQUIRE(is_reflectable()); 16 | constexpr auto members = reflect().members; 17 | REQUIRE(members.size >= 1); // what 18 | } 19 | 20 | SECTION( "std::string" ) { 21 | REQUIRE(is_reflectable()); 22 | REQUIRE(is_reflectable()); 23 | constexpr auto members = reflect().members; 24 | REQUIRE(members.size >= 2); // size + data 25 | REQUIRE(runtime::debug_str(std::string("xyz")) == "\"xyz\""); 26 | } 27 | 28 | SECTION( "std::wstring" ) { 29 | REQUIRE(runtime::debug_str(std::wstring(L"xyz")) == L"\"xyz\""); 30 | } 31 | 32 | SECTION( "std::string_view" ) { 33 | REQUIRE(is_reflectable()); 34 | REQUIRE(is_reflectable()); 35 | constexpr auto members = reflect().members; 36 | REQUIRE(members.size >= 2); // size + data 37 | REQUIRE(runtime::debug_str(std::string_view("xyz")) == "\"xyz\""); 38 | } 39 | 40 | SECTION( "std::wstring_view" ) { 41 | REQUIRE(runtime::debug_str(std::wstring_view(L"xyz")) == L"\"xyz\""); 42 | } 43 | 44 | SECTION( "std::tuple" ) { 45 | REQUIRE(is_reflectable>()); 46 | REQUIRE(runtime::debug_str(std::tuple<>()) == "()"); 47 | REQUIRE(runtime::debug_str(std::tuple(5)) == "(5)"); 48 | REQUIRE(runtime::debug_str(std::tuple(5, "xyz")) == "(5, \"xyz\")"); 49 | } 50 | 51 | SECTION( "std::pair" ) { 52 | REQUIRE(is_reflectable>()); 53 | REQUIRE(runtime::debug_str(std::pair(5, "xyz")) == "(5, \"xyz\")"); 54 | } 55 | 56 | SECTION( "std::unique_ptr" ) { 57 | REQUIRE(is_reflectable>()); 58 | } 59 | 60 | SECTION( "std::shared_ptr" ) { 61 | REQUIRE(is_reflectable>()); 62 | } 63 | 64 | SECTION( "std::complex" ) { 65 | REQUIRE(is_reflectable>()); 66 | REQUIRE(runtime::debug_str(std::complex(5.0, 1.0)) == "5+1i"); 67 | } 68 | 69 | } -------------------------------------------------------------------------------- /test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.14) 2 | 3 | project(refl-cpp-tests CXX) 4 | 5 | if(refl-cpp_TEST_USE_INSTALLED) 6 | find_package(refl-cpp REQUIRED) 7 | endif() 8 | 9 | # ---- Test ---- 10 | 11 | enable_testing() 12 | 13 | set( 14 | sources 15 | 010-TestCase.cpp 16 | 020-ConstString.hpp 17 | 030-TypeList.hpp 18 | 040-TypeTraits.hpp 19 | 050-Attributes.hpp 20 | 060-Utils.hpp 21 | 070-Descriptors.hpp 22 | 080-Runtime.hpp 23 | 090-StdTypes.hpp 24 | extern/catch2/catch.hpp 25 | ) 26 | 27 | add_executable(refl-cpp-test ${sources}) 28 | target_link_libraries(refl-cpp-test PRIVATE refl-cpp::refl-cpp) 29 | target_compile_features(refl-cpp-test PRIVATE cxx_std_17) 30 | target_include_directories(refl-cpp-test PRIVATE "${PROJECT_SOURCE_DIR}") 31 | set_property( 32 | SOURCE 010-TestCase.cpp 33 | APPEND PROPERTY 34 | COMPILE_DEFINITIONS CATCH_CONFIG_MAIN 35 | ) 36 | 37 | add_test(NAME all_tests COMMAND refl-cpp-test) 38 | --------------------------------------------------------------------------------