10. AST and Macros
Runtime type information, AST access and manipulation, code generation templates, quoting, and macro infrastructure.
- 10.1. Runtime type information library
- 10.1.1. Type aliases
- 10.1.2. Constants
- 10.1.3. Enumerations
- 10.1.4. Handled structures
- 10.1.5. Typeinfo macros
- 10.1.6. Handled types
- 10.1.7. Initialization and finalization
- 10.1.8. Type access
- 10.1.9. Rtti context access
- 10.1.10. Program access
- 10.1.11. Module access
- 10.1.12. Annotation access
- 10.1.13. Compilation and simulation
- 10.1.14. File access
- 10.1.15. Structure access
- 10.1.16. Data walking and printing
- 10.1.17. Function and mangled name hash
- 10.1.18. Context and mutex locking
- 10.1.19. Runtime data access
- 10.1.20. Tuple and variant access
- 10.1.21. Iteration
- 10.2. AST manipulation library
- 10.2.1. Type aliases
- 10.2.2. Enumerations
- 10.2.3. Handled structures
- 10.2.4. Call macros
- 10.2.5. Typeinfo macros
- 10.2.6. Handled types
- 10.2.7. Classes
- 10.2.8. Call generation
- 10.2.9. Visitor pattern
- 10.2.10. Expression generation
- 10.2.11. Adapter generation
- 10.2.11.1. make_block_annotation
- 10.2.11.2. make_call_macro
- 10.2.11.3. make_capture_macro
- 10.2.11.4. make_comment_reader
- 10.2.11.5. make_enumeration_annotation
- 10.2.11.6. make_for_loop_macro
- 10.2.11.7. make_function_annotation
- 10.2.11.8. make_pass_macro
- 10.2.11.9. make_reader_macro
- 10.2.11.10. make_simulate_macro
- 10.2.11.11. make_structure_annotation
- 10.2.11.12. make_type_macro
- 10.2.11.13. make_typeinfo_macro
- 10.2.11.14. make_variant_macro
- 10.2.11.15. make_visitor
- 10.2.12. Adapter application
- 10.2.13. Adding objects to objects
- 10.2.14. Program and module access
- 10.2.15. Textual descriptions of the objects
- 10.2.16. Searching
- 10.2.17. Iterating
- 10.2.18. Cloning
- 10.2.19. Mangled name
- 10.2.20. Size and offset
- 10.2.21. Evaluations
- 10.2.22. Error reporting
- 10.2.23. Location and context
- 10.2.24. Use queries
- 10.2.25. Log
- 10.2.26. Removal
- 10.2.27. Properties
- 10.2.28. Infer
- 10.2.29. Module queries
- 10.2.30. Debug info helpers
- 10.2.31. AOT support
- 10.2.32. String builder writer
- 10.3. Boost package for the AST
- 10.3.1. Type aliases
- 10.3.2. Function annotations
- 10.3.3. Variant macros
- 10.3.4. Structure macros
- 10.3.5. Classes
- 10.3.6. Containers
- 10.3.7. Textual descriptions of the objects
- 10.3.8. Queries
- 10.3.9. Annotations
- 10.3.10. Expression generation
- 10.3.11. Visitors
- 10.3.12. Type generation
- 10.3.13. Type casts
- 10.3.14. Setup
- 10.4. decltype macro and template function annotation
- 10.5. Template application helpers
- 10.5.1. Structures
- 10.5.2. Call macros
- 10.5.3. Template rules
- 10.5.4. Template application
- 10.5.5. Expression helpers
- 10.5.6. Expression generation
- 10.5.7. Block helpers
- 10.5.8. Global variable helpers
- 10.5.9. Hygienic names
- 10.5.10. Quoting macros
- 10.5.11. Type pointer helpers
- 10.5.12. Structure helpers
- 10.5.13. Class generation
- 10.6. AST quasiquoting infrastructure
- 10.7. Boost package for macro manipulations
- 10.8. Type macro and template structure support
- 10.9. DECS, AST block to loop
- 10.10. AST type usage collection
- 10.11. Constant expression checker and substitution