Xc++

Index

  1. 1 Overview
  2. Part I: Xc++ language
  3. 2 Xc++
  4. 3 \$adt
  5. 4 \$class and \$struct
  6. 5 Default constructors
  7. 6 Directives
  8. 7 \$enum
  9. 8 \$function
  10. 9 \$functor
  11. 10 Abstract Base Classes
  12. 11 Advantages of interfaces over abstract base classes
  13. 12 CDPlayer example
  14. 13 Interface Inheritance
  15. 14 Interfaces - Under the hood
  16. 15 \$interface
  17. 16 IObject
  18. 17 Poor performance of C++ virtual inheritance
  19. 18 unique_interface_ptr
  20. 19 Anonymous Mixins
  21. 20 CRTP For Static Polymorphism
  22. 21 Mixin Chain
  23. 22 Mixin On Delegators
  24. 23 Mixin Pros And Cons
  25. 24 Mixins and CRTP
  26. 25 Mixins for Model-View-Controler
  27. 26 Mixins in straight C++
  28. 27 \$mixin
  29. 28 \$model
  30. 29 \$type
  31. 30 \$typedef
  32. 31 \$var
  33. 32 Free functions on value types
  34. 33 Geometry Model Examples
  35. 34 Shape Union Type Example
  36. 35 A square is a rectangle
  37. 36 CEDA Union Types
  38. 37 \$variant
  39. 38 <<extern>>
  40. 39 String data types
  41. 40 Xc++ warning codes
  42. Part II: Macro preprocessor
  43. 41 @ $variable directive
  44. 42 @() directive
  45. 43 @@ directive
  46. 44 @[] directive
  47. 45 @assert directive
  48. 46 @assertfails directive
  49. 47 @def directive
  50. 48 @defpython directive
  51. 49 @fail directive
  52. 50 @for directive
  53. 51 @if-@else directive
  54. 52 @import directive
  55. 53 @let directive
  56. 54 @nakeddef directive
  57. 55 @print directive
  58. 56 @quote directive
  59. 57 @relativepath directive
  60. 58 @runpython directive
  61. 59 @scope directive
  62. 60 @str directive
  63. 61 @strx directive
  64. 62 @unstr directive
  65. 63 @while directive
  66. 64 Expressions
  67. 65 Xcpp preprocessor grammar
  68. 66 Macro variables
  69. 67 Xc++ Macro Preprocessor
  70. 68 Recursive macros
  71. Part III: Xcpp tooling
  72. 69 Xcpp
  73. 70 Xcpp console application
  74. 71 Logical Path
  75. 72 Virtual Tree
  76. 73 Versioning of source files
  77. 74 Compiler
  78. 75 mode
  79. 76 Xcpp Configuration Files
  80. Part IV: Projects, workspaces, and build artefacts
  81. 77 Compiler Switches
  82. 78 Configurations
  83. 79 Directories Filter
  84. 80 General Settings
  85. 81 xcpj file grammar
  86. 82 Import directives
  87. 83 Linker switches
  88. 84 Post-build events
  89. 85 Pre-build events
  90. 86 Pre-link events
  91. 87 Project Directory
  92. 88 Resource compiler switches
  93. 89 ROOT_TO_PROJDIR
  94. 90 Source files
  95. 91 Sub-projects
  96. 92 Target Type
  97. 93 Tool Files
  98. 94 Variables
  99. 95 Ceda Project (xcpj) Files
  100. 96 Ceda Workspace (xcws) Files
  101. 97 Build Artefacts
  102. 98 Build folder
  103. 99 Chained builds
  104. 100 Export folder
  105. 101 Include folder
  106. 102 Lib folder
  107. 103 Double clicking on a workspace file to generate a solution
  108. 104 Microsoft Visual Studio Integration
  109. Part V: Current CMake integration
  110. 105 Build System
  111. 106 Use of cmake
  112. 107 boost
  113. 108 Ceda SDK version
  114. 109 cedaRunXcppOnWorkspace
  115. 110 cedaTarget
  116. 111 Compiler switches
  117. 112 Dependency bug from cmake 3.17
  118. 113 EndOfConfigurationHook
  119. 114 Using cmake to build MFC projects
  120. 115 Python.cmake
  121. 116 wxWidgets
  122. 117 cedaAddJavaTest
  123. 118 cedaAddJni
  124. 119 cedaPrepareUseJni
  125. 120 Java
  126. Part VI: Platform notes and history
  127. 121 Windows
  128. 122 Using the Code Blocks IDE
  129. 123 Dump Ceda Namespace
  130. 124 How to package up an SDK for building ceda based applications on Ubuntu
  131. 125 Ceda development on Linux
  132. 126 Open and close a ceda PersistStore in Python
  133. 127 Packaging pyceda for Ubuntu 16.04 using distutils
  134. 128 Python class to open a ceda database
  135. 129 Set up Linux Virtual Machine
  136. 130 Using the pyceda module
  137. 131 Build boost for Android
  138. 132 Building CEDA core libraries under Windows
  139. 133 Building CEDA core libraries to target Android
  140. 134 Filter ABI
  141. 135 long and int64 overloads
  142. 136 Using boost for Android
  143. 137 Mixing Xc++ and C++