\hypertarget{_ogre_small_vector_8h}{}\section{Ogre\+Small\+Vector.\+h File Reference}
\label{_ogre_small_vector_8h}\index{Ogre\+Small\+Vector.\+h@{Ogre\+Small\+Vector.\+h}}
{\ttfamily \#include $<$algorithm$>$}\newline
{\ttfamily \#include $<$cassert$>$}\newline
{\ttfamily \#include $<$cstddef$>$}\newline
{\ttfamily \#include $<$cstdlib$>$}\newline
{\ttfamily \#include $<$cstring$>$}\newline
{\ttfamily \#include $<$iterator$>$}\newline
{\ttfamily \#include $<$memory$>$}\newline
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct_ogre_1_1is_pod_like}{Ogre\+::is\+Pod\+Like$<$ T $>$}
\item 
struct \hyperlink{struct_ogre_1_1is_pod_like_3_01bool_01_4}{Ogre\+::is\+Pod\+Like$<$ bool $>$}
\item 
struct \hyperlink{struct_ogre_1_1is_pod_like_3_01char_01_4}{Ogre\+::is\+Pod\+Like$<$ char $>$}
\item 
struct \hyperlink{struct_ogre_1_1is_pod_like_3_01double_01_4}{Ogre\+::is\+Pod\+Like$<$ double $>$}
\item 
struct \hyperlink{struct_ogre_1_1is_pod_like_3_01float_01_4}{Ogre\+::is\+Pod\+Like$<$ float $>$}
\item 
struct \hyperlink{struct_ogre_1_1is_pod_like_3_01int_01_4}{Ogre\+::is\+Pod\+Like$<$ int $>$}
\item 
struct \hyperlink{struct_ogre_1_1is_pod_like_3_01long_01_4}{Ogre\+::is\+Pod\+Like$<$ long $>$}
\item 
struct \hyperlink{struct_ogre_1_1is_pod_like_3_01short_01_4}{Ogre\+::is\+Pod\+Like$<$ short $>$}
\item 
struct \hyperlink{struct_ogre_1_1is_pod_like_3_01signed_01char_01_4}{Ogre\+::is\+Pod\+Like$<$ signed char $>$}
\item 
struct \hyperlink{struct_ogre_1_1is_pod_like_3_01std_1_1pair_3_01_t_00_01_u_01_4_01_4}{Ogre\+::is\+Pod\+Like$<$ std\+::pair$<$ T, U $>$ $>$}
\item 
struct \hyperlink{struct_ogre_1_1is_pod_like_3_01_t_01_5_01_4}{Ogre\+::is\+Pod\+Like$<$ T $\ast$ $>$}
\item 
struct \hyperlink{struct_ogre_1_1is_pod_like_3_01unsigned_01_4}{Ogre\+::is\+Pod\+Like$<$ unsigned $>$}
\item 
struct \hyperlink{struct_ogre_1_1is_pod_like_3_01unsigned_01char_01_4}{Ogre\+::is\+Pod\+Like$<$ unsigned char $>$}
\item 
struct \hyperlink{struct_ogre_1_1is_pod_like_3_01unsigned_01long_01_4}{Ogre\+::is\+Pod\+Like$<$ unsigned long $>$}
\item 
struct \hyperlink{struct_ogre_1_1is_pod_like_3_01unsigned_01short_01_4}{Ogre\+::is\+Pod\+Like$<$ unsigned short $>$}
\item 
class \hyperlink{class_ogre_1_1_small_vector}{Ogre\+::\+Small\+Vector$<$ T, N $>$}
\begin{DoxyCompactList}\small\item\em \hyperlink{class_ogre_1_1_small_vector}{Small\+Vector} -\/ This is a \textquotesingle{}vector\textquotesingle{} (really, a variable-\/sized array), optimized for the case when the array is small. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_small_vector_3_01_t_00_010_01_4}{Ogre\+::\+Small\+Vector$<$ T, 0 $>$}
\begin{DoxyCompactList}\small\item\em Specialize \hyperlink{class_ogre_1_1_small_vector}{Small\+Vector} at N=0. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_small_vector_base}{Ogre\+::\+Small\+Vector\+Base}
\begin{DoxyCompactList}\small\item\em \hyperlink{class_ogre_1_1_small_vector_base}{Small\+Vector\+Base} -\/ This is all the non-\/templated stuff common to all Small\+Vectors. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_small_vector_impl}{Ogre\+::\+Small\+Vector\+Impl$<$ T $>$}
\begin{DoxyCompactList}\small\item\em \hyperlink{class_ogre_1_1_small_vector_impl}{Small\+Vector\+Impl} -\/ This class consists of common code factored out of the \hyperlink{class_ogre_1_1_small_vector}{Small\+Vector} class to reduce code duplication based on the \hyperlink{class_ogre_1_1_small_vector}{Small\+Vector} \textquotesingle{}N\textquotesingle{} template parameter. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_small_vector_template_base}{Ogre\+::\+Small\+Vector\+Template\+Base$<$ T, is\+Pod\+Like $>$}
\begin{DoxyCompactList}\small\item\em \hyperlink{class_ogre_1_1_small_vector_template_base}{Small\+Vector\+Template\+Base}$<$\hyperlink{struct_ogre_1_1is_pod_like}{is\+Pod\+Like} = false$>$ -\/ This is where we put method implementations that are designed to work with non-\/\+P\+O\+D-\/like T\textquotesingle{}s. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_small_vector_template_base_3_01_t_00_01true_01_4}{Ogre\+::\+Small\+Vector\+Template\+Base$<$ T, true $>$}
\begin{DoxyCompactList}\small\item\em \hyperlink{class_ogre_1_1_small_vector_template_base}{Small\+Vector\+Template\+Base}$<$\hyperlink{struct_ogre_1_1is_pod_like}{is\+Pod\+Like} = true$>$ -\/ This is where we put method implementations that are designed to work with P\+O\+D-\/like T\textquotesingle{}s. \end{DoxyCompactList}\item 
class \hyperlink{class_ogre_1_1_small_vector_template_common}{Ogre\+::\+Small\+Vector\+Template\+Common$<$ T $>$}
\end{DoxyCompactItemize}
\subsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
 \hyperlink{namespace_ogre}{Ogre}
\begin{DoxyCompactList}\small\item\em 

 This source file is part of O\+G\+RE (Object-\/oriented Graphics Rendering Engine) For the latest info, see \href{http://www.ogre3d.org/}{\tt http\+://www.\+ogre3d.\+org/} \end{DoxyCompactList}\item 
 \hyperlink{namespacestd}{std}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename T $>$ }\\void \hyperlink{namespacestd_ac0f5c834836c0f5a4602cff74511d272}{std\+::swap} (\hyperlink{class_ogre_1_1_small_vector_impl}{Ogre\+::\+Small\+Vector\+Impl}$<$ T $>$ \&L\+HS, \hyperlink{class_ogre_1_1_small_vector_impl}{Ogre\+::\+Small\+Vector\+Impl}$<$ T $>$ \&R\+HS)
\begin{DoxyCompactList}\small\item\em Implement \hyperlink{namespacestd_ac0f5c834836c0f5a4602cff74511d272}{std\+::swap} in terms of Small\+Vector swap. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename T , unsigned N$>$ }\\void \hyperlink{namespacestd_af60633ec58754c4b3cc2c56314bf1882}{std\+::swap} (\hyperlink{class_ogre_1_1_small_vector}{Ogre\+::\+Small\+Vector}$<$ T, N $>$ \&L\+HS, \hyperlink{class_ogre_1_1_small_vector}{Ogre\+::\+Small\+Vector}$<$ T, N $>$ \&R\+HS)
\begin{DoxyCompactList}\small\item\em Implement \hyperlink{namespacestd_ac0f5c834836c0f5a4602cff74511d272}{std\+::swap} in terms of Small\+Vector swap. \end{DoxyCompactList}\end{DoxyCompactItemize}
