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