Daslang documentation Logo
0.6
  • Daslang 0.6 Reference Manual
  • Daslang Standard Library 0.6
    • 1. Introduction
    • 2. Core
    • 3. Strings
    • 4. I/O and Serialization
    • 5. Data Structures
    • 6. Algorithms and Functional
    • 7. Data Formats
    • 8. Entity Component System
    • 9. Concurrency
    • 10. AST and Macros
    • 11. Annotations and Contracts
      • 11.1. Miscellaneous contract annotations
      • 11.2. Apply reflection pattern
      • 11.3. defer and defer_delete macros
      • 11.4. if_not_null macro
      • 11.5. is_local_xxx ast helpers
      • 11.6. safe_addr macro
      • 11.7. static_let macro
      • 11.8. lpipe macro
      • 11.9. Assert once
      • 11.10. Loop unrolling
      • 11.11. Bitfield operator overloads
      • 11.12. Bitfield name traits
      • 11.13. Enumeration traits
      • 11.14. Type trait macros
      • 11.15. C++ bindings generator
    • 12. Classes and Interfaces
    • 13. Testing and Debugging
    • 14. Code Quality and Refactoring
Daslang documentation
  • »
  • Daslang Standard Library 0.6 »
  • 11. Annotations and Contracts
  • View page source

11. Annotations and Contracts

Function annotations, compile-time contracts, type traits, deferred execution, and other compile-time utilities.

  • 11.1. Miscellaneous contract annotations
    • 11.1.1. Function annotations
    • 11.1.2. Type queries
  • 11.2. Apply reflection pattern
    • 11.2.1. Call macros
  • 11.3. defer and defer_delete macros
    • 11.3.1. Function annotations
    • 11.3.2. Call macros
    • 11.3.3. Defer
    • 11.3.4. Stub
  • 11.4. if_not_null macro
    • 11.4.1. Call macros
  • 11.5. is_local_xxx ast helpers
    • 11.5.1. Scope checks
  • 11.6. safe_addr macro
    • 11.6.1. Function annotations
    • 11.6.2. Safe temporary address
      • 11.6.2.1. safe_addr
      • 11.6.2.2. shared_addr
    • 11.6.3. Temporary pointers
      • 11.6.3.1. temp_ptr
    • 11.6.4. Temporary values
      • 11.6.4.1. temp_value
  • 11.7. static_let macro
    • 11.7.1. Function annotations
    • 11.7.2. Static variable declarations
      • 11.7.2.1. static_let
  • 11.8. lpipe macro
    • 11.8.1. Call macros
  • 11.9. Assert once
    • 11.9.1. Function annotations
    • 11.9.2. Assertion
  • 11.10. Loop unrolling
    • 11.10.1. Function annotations
    • 11.10.2. Unrolling
  • 11.11. Bitfield operator overloads
    • 11.11.1. Bitfield element access
    • 11.11.2. Iteration
  • 11.12. Bitfield name traits
    • 11.12.1. Function annotations
    • 11.12.2. Iteration
  • 11.13. Enumeration traits
    • 11.13.1. Typeinfo macros
    • 11.13.2. Handled enumerations
    • 11.13.3. Enumeration iteration
    • 11.13.4. Enumeration conversion
      • 11.13.4.1. to_enum
  • 11.14. Type trait macros
    • 11.14.1. Call macros
    • 11.14.2. Typeinfo macros
  • 11.15. C++ bindings generator
    • 11.15.1. Generation of bindings
Previous Next

© Copyright 2018-2026, Gaijin Entertainment.

Built with Sphinx using a theme provided by Read the Docs.