Xc++
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++