From ce918d9f0b76a002703422e2ef288dae0540d971 Mon Sep 17 00:00:00 2001 From: Michael Uleysky Date: Wed, 17 Apr 2019 14:18:06 +1000 Subject: [PATCH] Add table of automatic member function generation in C++ --- cppdef.tex | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 cppdef.tex diff --git a/cppdef.tex b/cppdef.tex new file mode 100644 index 0000000..3fe76e7 --- /dev/null +++ b/cppdef.tex @@ -0,0 +1,50 @@ +\documentclass[12pt]{article} +\usepackage[table]{xcolor} +\usepackage{graphicx} +\usepackage{colortbl} +\usepackage{geometry} + +\newcommand{\ROT}[1]{\rotatebox[origin=c]{65}{#1}} +\newcommand{\YES}{\cellcolor{green!50} Auto} +\newcommand{\NO}{\cellcolor{red!50} No} +\newcommand{\DEF}{Declared} +\setlength\extrarowheight{5pt} + +\geometry{a4paper,top=1cm,bottom=1cm,left=1cm,right=1cm} + +\pagestyle{empty} + +\begin{document} +\begin{center} +%\resizebox{0.98\textwidth}{!}{% +\setlength\arrayrulewidth{1pt} +\begin{tabular}{|l|c|c|c|c|c|} +\hline +\, & \ROT{\ Default constructible\ } & \ROT{Copy constructible} & \ROT{Move constructible} & \ROT{Copy assignable} & \ROT{Move assignable}\\ +\hline +Default constructor deleted & \NO & \YES & \YES & \YES & \YES\\ +\hline +Copy constructor deleted & \NO & \NO & \NO & \YES & \YES\\ +\hline +Move constructor deleted & \NO & \NO & \NO & \NO & \NO \\ +\hline +Copy assignment deleted & \YES & \YES & \YES & \NO & \NO \\ +\hline +Move assignment deleted & \YES & \NO & \NO & \NO & \NO \\ +\hline +Default constructor declared & \DEF & \YES & \YES & \YES & \YES\\ +\hline +Copy constructor declared & \NO & \DEF & \YES & \YES & \YES\\ +\hline +Move constructor declared & \NO & \NO & \DEF & \NO & \NO \\ +\hline +Copy assignment declared & \YES & \YES & \YES & \DEF & \NO \\ +\hline +Move assignment declared & \YES & \NO & \NO & \NO & \DEF\\ +\hline +Any other constructor declared & \NO & \YES & \YES & \YES & \YES\\ +\hline +\end{tabular} +%} +\end{center} +\end{document}