aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add cs0104_lesson_01.cpp ..Sven Göthel2024-10-132-1/+1320
|
* fix clang-tidy hintsSven Göthel2024-10-133-20/+18
|
* Update .clang* tool config, generate .clangd at compile timeSven Göthel2024-10-138-103/+181
|
* doc/Data01: Change to English version (w/ PDF for de + en)Sven Göthel2024-05-233-0/+0
|
* Add some teaching slidesSven Göthel2024-05-233-0/+0
|
* lesson23_oop_virtl42: C++ Lesson 2.3 OOP (dreaded diamond problem, ↵Sven Göthel2024-05-191-0/+469
| | | | inheritance w/ virtual base classes, showing ctor/dtor)
* Bump Eclipse ..Sven Göthel2024-05-191-4/+2
|
* cmake revision: final round (sync w/ jaulib, dropped unused libs and version)Sven Göthel2024-05-192-52/+102
|
* cmake revision: 1st roundSven Göthel2024-05-194-193/+270
|
* lesson40_*: Resolve midpoint sum overflow, mention std::midpointSven Göthel2024-05-063-6/+13
|
* cmake: Use CMAKE_CXX_COMPILER_ID instead of CMAKE_COMPILER_IS_GNUCCSven Göthel2024-05-041-12/+12
|
* Eclipse settingsSven Göthel2024-05-031-0/+2
|
* Review of STL iterator + difference_type limitations (half range) compared ↵Sven Göthel2024-05-033-14/+69
| | | | | | | | | | | | | | | | | to size_t index ops and pointer arithmetic Svenson an I discussed the issue and we were a bit puzzled ;-) So it would have been great to have size_type to be unsigned (ssize_t) to simply constrain and harmonize the whole std::vector (etc) operations. Alternatively, an iterator could have been a pointer type, where such operations are at least tolerated despite similar considerations to ptrdiff_t like void *lo, *hi; lo-hi ! In the meantime, if using iterator and a size, stick to iterator and signed size.
* Resolve clang-tidy warnings=error; Notable std::vector<>: size() -> size_t ↵Sven Göthel2024-05-0310-63/+88
| | | | | | | | | | | (unsigned) but iterator and difference_type are signed and losing half of range Because std::vector<>::begin() iterator performs arithmetic using a signed difference_type, we need to use such a signed type here to avoid `bugprone-narrowing-conversions` (LINT) Now, isn't this odd as std::vector<>::size() uses unsigned size_type, aka size_t and mentioned iterator hence lose half the value range possible?
* IDE Eclipse CDT: Add CDT-LSP (clangd languages server [protocol]) setup ↵Sven Göthel2024-05-037-11/+30
| | | | (recommendation), update .clang* settings, recommend llvm-clang 16+
* lesson40_algo12: Cleanup: Use value-reference for pivot-points reducing ↵Sven Göthel2024-04-241-34/+37
| | | | lookup, rename 'array' -> 'A'
* lesson40_algo12: hoare2: Cleanup my own partitioning trialSven Göthel2024-04-241-38/+1
|
* lesson40_algo12: Hoare-Yaroslavskiy: Simplify end-partition 2-swaps by ↵Sven Göthel2024-04-241-17/+11
| | | | pre-swapping hi/lo pivot at start
* lesson40_algo12: Hoare-Yaroslavskiy: Use reference to pivots adding ↵Sven Göthel2024-04-241-5/+15
| | | | std::move for 2x 3-way swap at end of partitioning
* lesson40_algo12: Merge partition into qsort; Add Hoare-Yaroslavskiy ↵Sven Göthel2024-04-231-102/+141
| | | | dual-pivot quicksort variant (claimed >= 10% faster)
* Eclipse: Bump CDT settingsSven Göthel2024-04-231-0/+4
|
* Adding lesson 40: binary-search *01.cpp, +sorted_insert *02 and quicksort ↵Sven Göthel2024-04-233-45/+728
| | | | *12.cpp, each with optional variations
* Add custom std:map lesson (advanced) mapping periods to valueSven Göthel2024-04-201-0/+460
|
* lesson11: Demo object lifecycle and differentiate ctor and assignment ops ↵Sven Göthel2024-03-061-0/+188
| | | | (copy, move)
* lesson20: Annotate pre- and post-incrementSvenson Han Göthel2024-03-061-4/+4
|
* lesson20: Demonstrate implicit and explicit conversionSvenson Han Göthel2024-03-061-3/+56
|
* lesson20: demonstrate selection of comparison operatorSvenson Han Göthel2024-03-061-10/+32
|
* Merge remote-tracking branch 'origin'Svenson Han Göthel2024-02-258-20/+898
|\
| * lesson24: Add example/note casting shared_ptr<super-class> to ↵Sven Göthel2024-02-251-0/+5
| | | | | | | | shared_ptr<sub-class>
| * Add lesson40: Simple algorithms (starting w/ binary search)Sven Göthel2024-02-251-0/+83
| |
| * Setup.cmake: Remove USE_LIBCURL and refine debug properties for gnucc '-O0 -g3'Sven Göthel2024-02-252-17/+2
| |
| * Add lesson2[0-4]: OOP type, inheritance and virtual functionsSven Göthel2024-02-255-3/+808
| |
* | Split lesson02 for clarity, adding elaborated sum (Gaus)Svenson Han Göthel2024-02-252-6/+108
|/
* README: Remove .settings/org.eclipse.cdt.core.prefs noteSven Gothel2022-12-091-1/+0
|
* README: Add missing 'Building Binaries' nodeSven Gothel2022-12-071-0/+2
|
* Move to C++20 and cmake build system, detail IDE integration (Eclipse + VS ↵Sven Gothel2022-12-0729-301/+1013
| | | | Code(ium))
* add lesson25 oop virtl01Sven Gothel2022-12-072-1/+74
|
* Remove filename from header docSven Gothel2022-12-077-7/+0
|
* README: Fix git repo sourceSven Gothel2022-12-071-1/+1
|
* factorial: Annotate expansion of shortcutSven Gothel2022-11-111-1/+3
|
* Reorder lessons, add lesson01_function, lesson02_arithmetic, add simplified ↵Sven Gothel2022-11-1110-170/+962
| | | | less02_geometry0.
* Remove 'Version' from file header as we utilize git for versioningSven Gothel2022-10-225-5/+0
|
* Add COPYINGSven Gothel2022-10-221-0/+23
|
* Fix file header Copyright, add License (MIT)Sven Gothel2022-10-225-8/+13
| | | | | lesson01.cpp was enhanced in our little cs_class group, hence added participating authors.
* Lesson 02: Add: Array and a little piece of pointer-arithmeticSven Gothel2022-10-221-4/+102
|
* Lesson 02: Show std::unique_ptr<T> and std::shared_ptr<T> managing the heap ↵Sven Gothel2022-10-221-0/+32
| | | | automatically
* Lesson 01: Pull up ronding to integer type using a constexpr function.Sven Gothel2022-10-221-9/+22
| | | | | | | | | | Resulting of our group's review, we concluded this increases readability. We also realized that implementing the `dx` (x-axis distance) and `sx` parameter (x-axis scaling) distracts from the original task. However, these are the costs to pay to move to a more 'production like' code. Its application is shown within the `main` function of printing all objects in all sizes aligned to their center.
* Lesson 02: Add: Source of things, from stack to heap w/o automatic ↵Sven Gothel2022-10-211-0/+39
| | | | destruction when running out-of-scope!
* Lesson 01: disk_[12](): Drop unnecessary rounding and int-cast of integer ↵Sven Gothel2022-10-211-3/+3
| | | | arithmetik, only needed when scaled w/ float
* Makefile: Add lesson02Sven Gothel2022-10-211-1/+4
|