summaryrefslogtreecommitdiff
path: root/application-devel
diff options
context:
space:
mode:
authorAndreas Messerschmid <andreas@linutronix.de>2015-06-02 10:54:39 +0200
committerAndreas Messerschmid <andreas@linutronix.de>2015-06-02 10:54:39 +0200
commitad1bdba09d799e3f2fe349a13c98bab30f789621 (patch)
tree1cc718cfca4373382035f0048761493a7d3aaf30 /application-devel
parent87ce8e2ae457c7e102562ef3a45bba1374b1fe90 (diff)
Added C++11 and Standard Library overview
Diffstat (limited to 'application-devel')
-rw-r--r--application-devel/c++/Makefile2
-rw-r--r--application-devel/c++/pres_c++-c++98_11.tex52
-rw-r--r--application-devel/c++/pres_c++-stl.tex91
3 files changed, 144 insertions, 1 deletions
diff --git a/application-devel/c++/Makefile b/application-devel/c++/Makefile
index 9aa4393..b47f568 100644
--- a/application-devel/c++/Makefile
+++ b/application-devel/c++/Makefile
@@ -1 +1 @@
-obj-$(CONFIG_CPP_DEVEL) += pres_c++-threads.pdf pres_c++-stl.pdf
+obj-$(CONFIG_CPP_DEVEL) += pres_c++-threads.pdf pres_c++-stl.pdf pres_c++-c++98_11.pdf
diff --git a/application-devel/c++/pres_c++-c++98_11.tex b/application-devel/c++/pres_c++-c++98_11.tex
new file mode 100644
index 0000000..93f44eb
--- /dev/null
+++ b/application-devel/c++/pres_c++-c++98_11.tex
@@ -0,0 +1,52 @@
+\input{configpres}
+
+\def\lximg{/usr/share/lx/icons/fueller.png}
+
+\subsection{C++ Standards}
+
+\title{C++ Standards}
+\maketitle
+
+% stop displaying 'fueller.png' on the following slides
+\def\lximg{none}
+
+%\begin{frame}
+% \tableofcontents
+%\end{frame}
+
+\subsubsection{C++98}
+\begin{frame}
+\frametitle{C++98 vs C++11 vs C++14}
+\begin{itemize}
+\item C++ was standardized in 1998 the first time as ISO/IEC 14882:1998
+\item Fix up release in 2003 as ISO/IEC 14882:2003
+\item Major improvements and new revision in 2011, known as C++11
+\item Small extensions to C++11 were made in 2014, known as C++14
+\item C++17, the next major revision, is planned for 2017
+\end{itemize}
+\end{frame}
+
+\subsubsection{C++11}
+\begin{frame}
+\frametitle{C++11 Features Excerpt}
+\begin{itemize}
+\item Lambda functions and expressions
+\item Multithreading memory model
+\item Thread-local storage
+\item Threading facilities
+\item Runtime performance enhancements
+\item Improved C compatibility
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{C++11 Hints}
+\begin{itemize}
+\item Some compilers mark the C++11 feature set still as 'experimental'
+\item Not every compiler implements the full C++11 feature set
+\item C++11 on GCC has to be activated with -std=c++11 option
+\item Make sure your development team is familiar with the latest C++ syntax when using C++11
+\end{itemize}
+\end{frame}
+
+\input{tailpres}
diff --git a/application-devel/c++/pres_c++-stl.tex b/application-devel/c++/pres_c++-stl.tex
new file mode 100644
index 0000000..6bb6fd6
--- /dev/null
+++ b/application-devel/c++/pres_c++-stl.tex
@@ -0,0 +1,91 @@
+\input{configpres}
+
+\def\lximg{/usr/share/lx/icons/fueller.png}
+
+\subsection{C++ Standard Library}
+
+\title{C++ Standard Library}
+\maketitle
+
+% stop displaying 'fueller.png' on the following slides
+\def\lximg{none}
+
+%\begin{frame}
+% \tableofcontents
+%\end{frame}
+
+\subsubsection{Standard Library Overview}
+\begin{frame}
+\frametitle{Overview}
+The standard library provides:
+\begin{itemize}
+\item language features such as memory management and runtime type information
+\item optimized functions like sqrt() and memmove()
+\item lists, maps, sort functions, I/O streams, ...
+\item a framework to extend the facilities of the library itself
+\item the common foundation for other libraries
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{General Utilities}
+\begin{itemize}
+\item Type support (basic types, RTTI, type traits)
+\item Dynamic memory management
+\item Error handling
+\item Program utilities (abort, exit, signals, ...)
+\item Date and time
+\item bitset
+\item Function objects
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Strings}
+\begin{itemize}
+\item Basic strings
+\item Byte stings
+\item Multibyte strings
+\item Wide strings
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Containers and Iterators}
+\begin{itemize}
+\item Array, vector, deque, list
+\item set, multiset, map, multimap
+\item stack, queue
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Numerics and Algorithms}
+\begin{itemize}
+\item Common mathematical functions
+\item Complex numbers
+\item Pseudo-random number generation
+\item General algorithms like qsort and bsearch
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Input/output and Localization}
+\begin{itemize}
+\item stream based I/O
+\item C-style I/O-functions
+\item Internationalization support for characters and strings
+\item Internationalization support for numeric, monetary and date/time formatting
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{New features since C++11}
+\begin{itemize}
+\item Regular expressions
+\item Atomic operations
+\item Multi-Threading support
+\end{itemize}
+\end{frame}
+
+\input{tailpres}