< h t m l > 
 
 < h e a d > 
 
         < t i t l e > V a l u e l e s s   V a r i a n t s   C o n s i d e r e d   H a r m f u l < / t i t l e > 
 
         < s t y l e   t y p e = " t e x t / c s s " > 
 
                 i n s   {   b a c k g r o u n d - c o l o r :   # A 0 F F A 0 ;   } 
 
                 d e l   {   b a c k g r o u n d - c o l o r :   # F F A 0 A 0 ;   } 
 
                 . r e p l a c e   {   b a c k g r o u n d - c o l o r :   # F 0 F 0 F 0 ;   } 
 
                 b l o c k q u o t e   {   b o r d e r :   1 p x   # C C C   s o l i d ;   p a d d i n g :   1 e m ;   } 
 
         < / s t y l e > 
 
 < / h e a d > 
 
 < b o d y > 
 
         < t a b l e   b o r d e r = " 0 " > 
 
                 < t r > < t d > D o c u m e n t   N u m b e r : < / t d > < t d > P 0 3 0 8 R 0 < / t d > < / t r > 
 
                 < t r > < t d > D a t e : < / t d > < t d > 2 0 1 6 - 0 3 - 1 6 < / t d > < / t r > 
 
                 < t r > < t d > R e p l y - t o : < / t d > < t d > P e t e r   D i m o v   & l t ; < a   h r e f = " m a i l t o : p d i m o v @ p d i m o v . c o m " > p d i m o v @ p d i m o v . c o m < / a > & g t ; < / t d > < / t r > 
 
                 < t r > < t d > A u d i e n c e : < / t d > < t d > L i b r a r y   E v o l u t i o n ,   L i b r a r y < / t d > < / t r > 
 
         < / t a b l e > 
 
 
 
         < h 1 > V a l u e l e s s   V a r i a n t s   C o n s i d e r e d   H a r m f u l < / h 1 > 
 
 
 
         < h 2 > I .   S u m m a r y < / h 2 > 
 
         < p > 
 
                 T h i s   p a p e r   a r g u e s   i n   s e c t i o n   I I I   t h a t   w h e n   < c o d e > v a r i a n t < / c o d e > ' s   c o n t a i n e d   t y p e s   h a v e   < c o d e > n o e x c e p t < / c o d e >   m o v e   c o n s t r u c t o r s , 
 
                 < c o d e > v a r i a n t < / c o d e >   < e m > s h a l l < / e m >   n e v e r   b e   v a l u e l e s s ,   t h a t   i s ,   t h e   s p e c i f i c a t i o n   s h o u l d   s t a t i c a l l y   g u a r a n t e e 
 
                 t h a t   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n ( ) < / c o d e >   w i l l   n e v e r   r e t u r n   < c o d e > t r u e < / c o d e > . < / p > 
 
         < p > 
 
                 I t   t h e n   p r o p o s e s ,   i n   s e c t i o n   I V ,   a   w a y   t o   e x t e n d   t h e s e   g u a r a n t e e s   t o   t y p e s   s u c h   a s   < c o d e > s t d : : l i s t < / c o d e >   t h a t   a r e   n o t   g u a r a n t e e d 
 
                 t o   h a v e   a   < c o d e > n o e x c e p t < / c o d e >   m o v e   c o n s t r u c t o r ,   b y   i n t r o d u c i n g   t h e   c o n c e p t   o f   < e m > p i l f e r i n g   c o n s t r u c t o r < / e m > . < / p > 
 
         < p > 
 
                 F i n a l l y ,   i n   s e c t i o n   V ,   i t   v e n t u r e s   a   s u g g e s t i o n   t h a t   a t   t h i s   p o i n t ,   w e   m i g h t   a s   w e l l   g e t   r i d   o f   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n < / c o d e > 
 
                 a l t o g e t h e r . < / p > 
 
 
 
         < h 2 > I I .   I n t r o d u c t i o n < / h 2 > 
 
         < p > 
 
                 T h e   < c o d e > v a r i a n t < / c o d e >   c o n s e n s u s   a t   p r e s e n t ,   r e f l e c t e d   i n   D 0 0 8 8 R 2 . 1 7 ,   i t s   m o s t   r e c e n t   s p e c i f i c a t i o n   a t   t i m e   o f   w r i t i n g , 
 
                 c a n   b e   s u m m a r i z e d   b y   t h e   f o l l o w i n g   q u o t e s   b y   T o n y   V a n   E e r d : < / p > 
 
         < b l o c k q u o t e > T h e   c u r r e n t   v a r i a n t   b a s i c a l l y   d o e s   e v e r y t h i n g : < b r   / > 
 
 < u l > 
 
 < l i > " n e v e r "   e m p t y < / l i > 
 
 < l i > n o   e x t r a   m e m o r y < / l i > 
 
 < l i > e t c < / l i > 
 
 < / u l > 
 
 O K ,   w h a t   d o e s n ' t   i t   d o . < b r   / > < b r   / > 
 
 
 
 I t   d o e s n ' t   o f f e r   t h e   s t r o n g   e x c e p t i o n   g u a r a n t e e   i f   t h e   m o v e   c o n s t r u c t o r   t h r o w s . < b r   / > < b r   / > 
 
 
 
 T h a t ' s   i t . < b r   / > < b r   / > 
 
 
 
 N o w   a s k   y o u r s e l f : < b r   / > 
 
 
 
 < u l > 
 
 < l i > h o w   m a n y   m o v e   c o n s t r u c t o r s   a r e   n o t   n o e x c e p t < / l i > 
 
 < l i > f o r   m o v e   c o n s t r u c t o r s   t h a t   a r e   n o t   n o e x c e p t ,   h o w   m a n y   e v e r   a c t u a l l y   t h r o w ? < / l i > 
 
 < / u l > 
 
 
 
 T h a t   s e c o n d   p a r t   i s   i m p o r t a n t .   B a s i c a l l y   i t   n e v e r   h a p p e n s ,   o r   i f   i t   d o e s ,   y o u   h a v e   b i g g e r   p r o b l e m s   b e c a u s e   y o u   a r e   s o   o u t   o f   m e m o r y   t h a t   y o u   c a n ' t   a l l o c a t e   3 2   b y t e s   f o r   a   n o d e   o r   s o m e t h i n g .   ( i e   l i s t   c o n s t r u c t o r   i n   s o m e   i m p l e m e n t a t i o n s ) .   W e   a r e   t r y i n g   t o   s o l v e   a   p r o b l e m   t h a t   d o e s n ' t   r e a l l y   n e e d   a   < b > s o l u t i o n < / b > ,   b u t   d o e s   n e e d   a n   < b > a n s w e r < / b > ,   a n d   o n e   b e t t e r   t h a n   U B . < b r   / > < b r   / > 
 
 
 
 S o ,   y e a h ,   d o u b l e   b u f f e r i n g   w o u l d   b e   a   s o l u t i o n ,   b u t   y o u   a r e   p a y i n g   a   c o s t   f o r   s o m e t h i n g   t h a t   n e v e r   a c t u a l l y   h a p p e n s . < b r   / > 
 
 O r   y o u   a d d   a n   e m p t y   s t a t e ,   a n d   p a y   t h e   p r o g r a m m e r   c o s t   ( o f   d e a l i n g   w i t h   e m p t y )   f o r   s o m e t h i n g   t h a t   n e v e r   h a p p e n s . < b r   / > 
 
 O r   y o u   h a v e   t w o   v a r i a n t s ,   a n d   p a y   t h e   c o s t   o f   c o n f u s i o n ,   f o r   s o m e t h i n g   t h a t   n e v e r   h a p p e n s . < b r   / > < b r   / > 
 
 
 
 W e ,   a s   a   c o m m i t t e e ,   w a n t   p e r f e c t i o n   a n d   w a n t   t o   b e   c o n c e r n e d   a b o u t   t h e   c o r n e r   c a s e s ,   b u t   i n   r e a l i t y ,   t h e y   n e v e r   h a p p e n . < / b l o c k q u o t e > 
 
 
 
         < p > a n d   D a v i d   S a n k e l : < / p > 
 
         < b l o c k q u o t e > I f   a   d e v e l o p e r   c o n f o r m s   t o   t h e   s a n e   s u b s e t   o f   C + +   w h e r e   m o v e   c o n s t r u c t o r s   d o n ' t   t h r o w ,   t h e n   t h e i r   v a r i a n t s   w o n ' t   g e t   i n t o   t h e   v a l u e l e s s   s t a t e . < / b l o c k q u o t e > 
 
         < p > 
 
                 I n   o t h e r   w o r d s ,   t h e   c u r r e n t   c o n s e n s u s   a c k n o w l e d g e s   t h a t   < c o d e > v a r i a n t < / c o d e >   g e t t i n g   i n   t h e   v a l u e l e s s   s t a t e   i s   u n d e s i r a b l e , 
 
                 a n d   I   a b s o l u t e l y   a g r e e . < / p > 
 
         < p > 
 
                 I   h o w e v e r   h a v e   t w o   o b j e c t i o n s   t o   t h e   a b o v e   q u o t e s .   F i r s t ,   t h e   s t a t e m e n t s < / p > 
 
         < u l > 
 
                 < l i > " < c o d e > v a r i a n t < / c o d e >   d o e s n ' t   o f f e r   t h e   s t r o n g   e x c e p t i o n   g u a r a n t e e   i f   t h e   m o v e   c o n s t r u c t o r   t h r o w s . " < / l i > 
 
                 < l i > " I f   a   d e v e l o p e r   c o n f o r m s   t o   t h e   s a n e   s u b s e t   o f   C + +   w h e r e   m o v e   c o n s t r u c t o r s   d o n ' t   t h r o w ,   t h e n   t h e i r   v a r i a n t s   w o n ' t   g e t   i n t o   t h e   v a l u e l e s s   s t a t e . " < / l i > 
 
         < / u l > 
 
         < p > 
 
                 a r e   s i m p l y   f a l s e   u n d e r   t h e   c u r r e n t   s p e c i f i c a t i o n .   < c o d e > v a r i a n t < / c o d e >   h a b i t u a l l y   d o e s   n o t   g i v e   t h e   s t r o n g   e x c e p t i o n 
 
                 g u a r a n t e e   o n   a s s i g n m e n t ,   a n d   c a n   g o   i n t o   t h e   v a l u e l e s s   s t a t e ,   e v e n   w h e n   t h e   m o v e   c o n s t r u c t o r s   o f   t h e   c o n t a i n e d   t y p e s   d o n ' t   t h r o w . < / p > 
 
         < p > 
 
                 S e c o n d ,   I   d o   n o t   c o n s i d e r   t h e   " w i l l   n e v e r   h a p p e n "   p h i l o s o p h y   g o o d   e n o u g h   f o r   a   s t a n d a r d   C + +   c o m p o n e n t .   I t ' s   f i n e   f o r   a   T S , 
 
                 w h i c h   i s   m e a n t   t o   b e   e x p e r i m e n t a l ,   g a t h e r   e x p e r i e n c e ,   a n d   c a n   b e   f i x e d   w h e n   a   d e f e c t   i s   d i s c o v e r e d   w i t h o u t   r e g a r d   t o   c o d e 
 
                 b e i n g   b r o k e n .   O n c e   a   c o m p o n e n t   g e t s   i n t o   t h e   C + +   s t a n d a r d ,   c h a n g i n g   i t   b e c o m e s   v e r y   h a r d . < / p > 
 
         < p > 
 
                 " W i l l   n e v e r   h a p p e n "   c a n   b e ,   p r a g m a t i c a l l y   s p e a k i n g ,   t h e   r i g h t   s t r a t e g y   u n d e r   m a n y   c i r c u m s t a n c e s ,   w h e n   t h e   c o s t   o f   t h e 
 
                 s o l u t i o n   o u t w e i g h s   t h e   c o s t   o f   t h e   p r o b l e m .   I t   d o e s   h a v e   i t s   d i s a d v a n t a g e s   t h o u g h ,   o n e   o f   w h i c h   i s   t h a t   " n e v e r   h a p p e n " 
 
                 s c e n a r i o s ,   b e i n g   e x t r e m e l y   r a r e ,   a r e   n e v e r   t e s t e d   a n d   t h e r e f o r e   t e n d   t o   o c c u r   i n   p r o d u c t i o n   w h e n   t h e i r   c o s t s   a r e   h i g h . 
 
                 ( I n s e r t   A r i a n e   5   r e f e r e n c e   h e r e . ) < / p > 
 
         < p > 
 
                 T h a t   i s   w h y   s o m e   p r o g r a m m e r s   p r e f e r   t o   r e l y   o n   s t a t i c   ( c o m p i l e - t i m e )   g u a r a n t e e s   t h a t   t h e   s c e n a r i o s   t h a t   " n e v e r   h a p p e n " 
 
                 d o   i n d e e d   n e v e r   h a p p e n ,   a n d   < b > i t   i s   m y   o p i n i o n   t h a t   i t   i s   a   r e q u i r e m e n t   f o r   a   C + + 1 7   < c o d e > v a r i a n t < / c o d e >   t o   p r o v i d e   s u c h   a 
 
                 s t a t i c ,   c o m p i l e - t i m e ,   g u a r a n t e e   t h a t   i t   w i l l   n e v e r   g o   i n t o   a   v a l u e l e s s   s t a t e   i f   c e r t a i n   r e s t r i c t i o n s ,   w h i c h   c a n   b e   c h e c k e d 
 
                 a t   c o m p i l e   t i m e ,   a r e   m e t . < / b > < / p > 
 
         < p > 
 
                 A x e l   N a u m a n n   p r e f e r s   a   d i f f e r e n t   a p p r o a c h : < / p > 
 
         < b l o c k q u o t e > I   w a n t   t h e   w o r d i n g   t o   a l l o w   y o u r   s u g g e s t i o n s   w i t h o u t   r e q u i r i n g   t h e m . < / b l o c k q u o t e > 
 
         < p > 
 
                 b u t   I   r e s p e c t f u l l y   d i s a g r e e .   " A l l o w e d   b u t   n o t   r e q u i r e d "   i s   n o t   g o o d   e n o u g h .   F i r s t ,   " a l l o w e d   b u t   n o t   r e q u i r e d "   d o e s   n o t   g i v e 
 
                 c o m p i l e - t i m e   g u a r a n t e e s .   S e c o n d ,   i t   h a m p e r s   p o r t a b i l i t y .   T h i r d ,   t h e   w o r d i n g   i s   s u b t l e   a n d   t h i s   m a k e s   i t   p o s s i b l e   f o r 
 
                 w h a t   i s   i n t e n d e d   t o   a l l o w   b u t   n o t   r e q u i r e   t o   t u r n   o u t   t o   d i s a l l o w . < / p > 
 
         < h 2 > 
 
                 I I I .   N e v e r   V a l u e l e s s < / h 2 > 
 
         < p > 
 
                 T h e   p r e v i o u s   s e c t i o n   c o n c l u d e d   t h a t   < c o d e > v a r i a n t < / c o d e >   s h o u l d   p r o v i d e   a   s t a t i c ,   c o m p i l e - t i m e ,   g u a r a n t e e   t h a t   i t   w i l l   n e v e r   g o   i n t o   a   v a l u e l e s s 
 
                 s t a t e   i f   c e r t a i n   r e s t r i c t i o n s ,   w h i c h   c a n   b e   c h e c k e d   a t   c o m p i l e   t i m e ,   a r e   m e t .   W h a t   s h o u l d   t h o s e   r e s t r i c t i o n s   b e ? < / p > 
 
         < p > 
 
                 U n s u r p r i s i n g l y ,   a n d   i n   a g r e e m e n t   w i t h   t h e   e x i s t i n g   p r e v a i l i n g   o p i n i o n ,   t h a t   t h e   m o v e   c o n s t r u c t o r s   o f   t h e   c o n t a i n e d   t y p e s   a r e   < c o d e > n o e x c e p t < / c o d e > . < / p > 
 
         < p > 
 
                 ( N o t e   t h a t   m o v e   < e m > a s s i g n m e n t s < / e m >   b e i n g   < c o d e > n o e x c e p t < / c o d e >   i s   n o t   r e q u i r e d .   O n e   m i g h t   n a i v e l y   t h i n k   t h a t   a   t y p e   t h a t   h a s 
 
                 a   < c o d e > n o e x c e p t < / c o d e >   m o v e   c o n s t r u c t o r   w o u l d   a l s o   h a v e   a   < c o d e > n o e x c e p t < / c o d e >   m o v e   a s s i g n m e n t   s o   w e   m i g h t   a s   w e l l   r e q u i r e   t h a t 
 
                 w i t h   n o   l o s s   o f   g e n e r a l i t y ,   b u t   a s   u s u a l ,   t h e   s t a n d a r d   l i b r a r y   h a s   a   s u r p r i s e   f o r   u s ,   i n   t h a t   < c o d e > s t d : : v e c t o r < / c o d e > ' s 
 
                 m o v e   a s s i g n m e n t   i s   n o t   n e c e s s a r i l y   < c o d e > n o e x c e p t < / c o d e > . ) < / p > 
 
         < p > 
 
                 W h a t   d o   w e   n e e d   t o   c h a n g e   i n   D 0 0 8 8 R 2 . 1 7   t o   f u l f i l l   t h i s   r e q u i r e m e n t ? < / p > 
 
         < p > 
 
                 T h e r e   a r e   o n l y   t w o   w a y s   f o r   a   < c o d e > v a r i a n t < / c o d e >   t o   b e c o m e   v a l u e l e s s :   a s s i g n m e n t   a n d   < c o d e > e m p l a c e < / c o d e > .   L e t ' s   c o n s i d e r   a l l   t h e i r   v a r i a t i o n s   i n   t u r n . < / p > 
 
 
 
         < h 3 > < c o d e > v a r i a n t & a m p ;   o p e r a t o r = ( c o n s t   v a r i a n t & a m p ;   r h s ) ; < / c o d e > < / h 3 > 
 
         < b l o c k q u o t e > 
 
                 < p > < e m > E f f e c t s : < / e m >   < i n s > L e t   < c o d e > j < / c o d e >   b e   < c o d e > r h s . i n d e x ( ) < / c o d e > . < / i n s > < / p > 
 
                         < u l > 
 
                                 < l i > I f   n e i t h e r   < c o d e > * t h i s < / c o d e >   n o r   < c o d e > r h s < / c o d e >   h o l d s   a   v a l u e ,   t h e r e   i s   n o   e f f e c t .   O t h e r w i s e < / l i > 
 
                                 < l i > i f   < c o d e > * t h i s < / c o d e >   h o l d s   a   v a l u e   b u t   < c o d e > r h s < / c o d e >   d o e s   n o t ,   d e s t r o y s   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e >   a n d   s e t s   < c o d e > * t h i s < / c o d e >   t o   n o t   h o l d   a   v a l u e .   O t h e r w i s e , < / l i > 
 
                                 < l i > i f   < c o d e > i n d e x ( )   = =   < d e l > r h s . i n d e x ( ) < / d e l > < i n s > j   & a m p ; & a m p ;   i s _ n o t h r o w _ c o p y _ a s s i g n a b l e _ v & l t ; T _ j & g t ; < / i n s > < / c o d e > ,   a s s i g n s   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > r h s < / c o d e >   t o   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e > .   O t h e r w i s e , < / l i > 
 
                                 < l i > < i n s > i f   < c o d e > i n d e x ( )   = =   j   & a m p ; & a m p ;   i s _ n o t h r o w _ m o v e _ a s s i g n a b l e _ v & l t ; T _ j & g t ; < / c o d e > ,   c o p i e s   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > r h s < / c o d e >   t o   a   t e m p o r a r y   < c o d e > T M P < / c o d e > ,   t h e n   a s s i g n s   < c o d e > s t d : : f o r w a r d & l t ; T _ j & g t ; ( T M P ) < / c o d e >   t o   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e > .   O t h e r w i s e , < / i n s > < / l i > 
 
                                 < l i > < i n s > i f   < c o d e > i n d e x ( )   = =   j   & a m p ; & a m p ;   ! i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e _ v & l t ; T _ j & g t ; < / c o d e > ,   a s s i g n s   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > r h s < / c o d e >   t o   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e > .   O t h e r w i s e , < / i n s > < / l i > 
 
                                 < l i > c o p i e s   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > r h s < / c o d e >   t o   a   t e m p o r a r y < i n s >   < c o d e > T M P < / c o d e > < / i n s > ,   t h e n   d e s t r o y s   a n y   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e > .   S e t s   < c o d e > * t h i s < / c o d e >   t o   h o l d   t h e   s a m e   a l t e r n a t i v e   i n d e x   a s 
 
                                         < c o d e > r h s < / c o d e >   a n d   i n i t i a l i z e s   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e >   a s   i f   d i r e c t - n o n - l i s t - i n i t i a l i z i n g   a n   o b j e c t   o f   t y p e   < c o d e > T _ j < / c o d e >   w i t h   < c o d e > s t d : : f o r w a r d & l t ; T _ j & g t ; ( T M P ) < / c o d e > < d e l > , 
 
                                         w i t h   < c o d e > T M P < / c o d e >   b e i n g   t h e   t e m p o r a r y   a n d   < c o d e > j < / c o d e >   b e i n g   < c o d e > r h s . i n d e x ( ) < / c o d e > < / d e l > . < / l i > 
 
                         < / u l > 
 
                 < p > < e m > R e t u r n s : < / e m >   < c o d e > * t h i s < / c o d e > . < / p > 
 
                 < p > < e m > P o s t c o n d i t i o n s : < / e m >   < c o d e > i n d e x ( )   = =   r h s . i n d e x ( ) < / c o d e > < / p > 
 
                 < p > < e m > R e m a r k s : < / e m > 
 
                         T h i s   f u n c t i o n   s h a l l   n o t   p a r t i c i p a t e   i n   o v e r l o a d   r e s o l u t i o n   u n l e s s   < c o d e > i s _ c o p y _ c o n s t r u c t i b l e _ v & l t ; T _ i & g t ;   & a m p ; & a m p ;   i s _ m o v e _ c o n s t r u c t i b l e _ v & l t ; T _ i & g t ;   & a m p ; & a m p ;   i s _ c o p y _ a s s i g n a b l e _ v & l t ; T _ i & g t ; < / c o d e >   i s   < c o d e > t r u e < / c o d e >   f o r   a l l   < c o d e > i < / c o d e > . < / p > 
 
                         < u l > 
 
                         < l i > I f   a n   e x c e p t i o n   i s   t h r o w n   d u r i n g   t h e   c a l l   t o   < c o d e > T _ j < / c o d e > ' s   c o p y   a s s i g n m e n t ,   t h e   s t a t e   o f   t h e   c o n t a i n e d   v a l u e   i s   a s   d e f i n e d   b y   t h e   e x c e p t i o n   s a f e t y   g u a r a n t e e   o f   < c o d e > T _ j < / c o d e > ' s   c o p y   a s s i g n m e n t ;   < c o d e > i n d e x ( ) < / c o d e >   w i l l   b e   < c o d e > j < / c o d e > . < / l i > 
 
                         < l i > I f   a n   e x c e p t i o n   i s   t h r o w n   d u r i n g   t h e   c a l l   t o   < c o d e > T _ j < / c o d e > ' s   c o p y   c o n s t r u c t o r   ( w i t h   < c o d e > j < / c o d e >   b e i n g   < c o d e > r h s . i n d e x ( ) < / c o d e > ) ,   < c o d e > * t h i s < / c o d e >   w i l l   r e m a i n   u n c h a n g e d . < / l i > 
 
                         < l i > I f   a n   e x c e p t i o n   i s   t h r o w n   d u r i n g   t h e   c a l l   t o   < c o d e > T _ j < / c o d e > ' s   m o v e   c o n s t r u c t o r ,   t h e   < c o d e > v a r i a n t < / c o d e >   w i l l   h o l d   n o   v a l u e . < / l i > 
 
                         < / u l > 
 
         < / b l o c k q u o t e > 
 
         < p > 
 
                 T h e s e   c h a n g e s   m a k e   s u r e   t h a t   w h e n   t h e   m o v e   c o n s t r u c t o r   o f   < c o d e > T _ j < / c o d e >   i s   < c o d e > n o e x c e p t < / c o d e > ,   t h e   a s s i g n m e n t   w i l l   n e v e r   p u t   t h e   < c o d e > v a r i a n t < / c o d e > 
 
                 i n t o   t h e   v a l u e l e s s   s t a t e   a n d   t h a t   i t   w i l l   p r o v i d e   t h e   s t r o n g   e x c e p t i o n   s a f e t y   g u a r a n t e e . < / p > 
 
 
 
         < h 3 > < c o d e > v a r i a n t & a m p ;   o p e r a t o r = ( v a r i a n t & a m p ; & a m p ;   r h s )   n o e x c e p t ( < e m > s e e   b e l o w < / e m > ) ; < / c o d e > < / h 3 > 
 
         < b l o c k q u o t e > 
 
                 < p > < e m > E f f e c t s : < / e m >   < i n s > L e t   < c o d e > j < / c o d e >   b e   < c o d e > r h s . i n d e x ( ) < / c o d e > . < / i n s > < / p > 
 
                         < u l > 
 
                         < l i > I f   n e i t h e r   < c o d e > * t h i s < / c o d e >   n o r   < c o d e > r h s < / c o d e >   h o l d s   a   v a l u e ,   t h e r e   i s   n o   e f f e c t .   O t h e r w i s e < / l i > 
 
                         < l i > i f   < c o d e > * t h i s < / c o d e >   h o l d s   a   v a l u e   b u t   < c o d e > r h s < / c o d e >   d o e s   n o t ,   d e s t r o y s   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e >   a n d   s e t s   < c o d e > * t h i s < / c o d e >   t o   n o t   h o l d   a   v a l u e .   O t h e r w i s e , < / l i > 
 
                         < l i > i f   < c o d e > i n d e x ( )   = =   < d e l > r h s . i n d e x ( ) < / d e l > < i n s > j   & a m p ; & a m p ;   ( i s _ n o t h r o w _ m o v e _ a s s i g n a b l e _ v & l t ; T _ j & g t ;   | |   ! i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e _ v & l t ; T _ j & g t ; ) < / i n s > < / c o d e > ,   a s s i g n s   < c o d e > s t d : : f o r w a r d & l t ; T _ j & g t ; ( g e t & l t ; j & g t ; ( r h s ) ) < / c o d e >   t o   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e > < d e l > ,   w i t h   < c o d e > j < / c o d e >   b e i n g   < c o d e > i n d e x ( ) < / c o d e > < / d e l > .   O t h e r w i s e , < / l i > 
 
                         < l i > d e s t r o y s   a n y   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e > .   S e t s   < c o d e > * t h i s < / c o d e >   t o   h o l d   t h e   s a m e   a l t e r n a t i v e   i n d e x   a s   < c o d e > r h s < / c o d e >   a n d   i n i t i a l i z e s   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e > 
 
                                 a s   i f   d i r e c t - n o n - l i s t - i n i t i a l i z i n g   a n   o b j e c t   o f   t y p e   < c o d e > T _ j < / c o d e >   w i t h   < c o d e > s t d : : f o r w a r d & l t ; T _ j & g t ; ( g e t & l t ; j & g t ; ( r h s ) ) < / c o d e > < d e l >   w i t h   < c o d e > j < / c o d e >   b e i n g   < c o d e > r h s . i n d e x ( ) < / c o d e > < / d e l > . < / l i > 
 
                         < / u l > 
 
                 < p > < e m > R e t u r n s : < / e m >   < c o d e > * t h i s < / c o d e > . < / p > 
 
                 < p > < e m > R e m a r k s : < / e m > 
 
                         T h i s   f u n c t i o n   s h a l l   n o t   p a r t i c i p a t e   i n   o v e r l o a d   r e s o l u t i o n   u n l e s s   < c o d e > i s _ m o v e _ c o n s t r u c t i b l e _ v & l t ; T _ i & g t ;   & a m p ; & a m p ;   i s _ m o v e _ a s s i g n a b l e _ v & l t ; T _ i & g t ; < / c o d e >   i s   < c o d e > t r u e < / c o d e >   f o r   a l l   < c o d e > i < / c o d e > . 
 
                         T h e   e x p r e s s i o n   i n s i d e   < c o d e > n o e x c e p t < / c o d e >   i s   e q u i v a l e n t   t o :   < c o d e > i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e _ v & l t ; T _ i & g t ; < d e l >   & a m p ; & a m p ;   i s _ n o t h r o w _ m o v e _ a s s i g n a b l e _ v & l t ; T _ i & g t ; < / d e l > < / c o d e >   f o r   a l l   < c o d e > i < / c o d e > . < / p > 
 
                         < u l > 
 
                         < l i > I f   a n   e x c e p t i o n   i s   t h r o w n   d u r i n g   t h e   c a l l   t o   < c o d e > T _ j < / c o d e > ' s   m o v e   c o n s t r u c t o r < d e l >   ( w i t h   < c o d e > j < / c o d e >   b e i n g   < c o d e > r h s . i n d e x ( ) < / c o d e > ) < / d e l > ,   t h e   < c o d e > v a r i a n t < / c o d e >   w i l l   h o l d   n o   v a l u e . < / l i > 
 
                         < l i > I f   a n   e x c e p t i o n   i s   t h r o w n   d u r i n g   t h e   c a l l   t o   < c o d e > T _ j < / c o d e > ' s   m o v e   a s s i g n m e n t ,   t h e   s t a t e   o f   t h e   c o n t a i n e d   v a l u e   i s   a s   d e f i n e d   b y   t h e   e x c e p t i o n   s a f e t y   g u a r a n t e e   o f   < c o d e > T _ j < / c o d e > ' s   m o v e   a s s i g n m e n t ;   < c o d e > i n d e x ( ) < / c o d e >   w i l l   b e   < c o d e > j < / c o d e > . < / l i > 
 
                         < / u l > 
 
         < / b l o c k q u o t e > 
 
         < p > 
 
                 A s   a b o v e :   T h e s e   c h a n g e s   m a k e   s u r e   t h a t   w h e n   t h e   m o v e   c o n s t r u c t o r   o f   < c o d e > T _ j < / c o d e >   i s   < c o d e > n o e x c e p t < / c o d e > ,   t h e   a s s i g n m e n t   w i l l   n e v e r   p u t   t h e   < c o d e > v a r i a n t < / c o d e > 
 
                 i n t o   t h e   v a l u e l e s s   s t a t e   a n d   t h a t   i t   w i l l   p r o v i d e   t h e   s t r o n g   e x c e p t i o n   s a f e t y   g u a r a n t e e   w i t h   r e s p e c t   t o   < c o d e > * t h i s < / c o d e > . < / p > 
 
 
 
         < h 3 > < c o d e > t e m p l a t e   & l t ; c l a s s   T & g t ;   v a r i a n t & a m p ;   o p e r a t o r = ( T & a m p ; & a m p ;   t )   n o e x c e p t ( < e m > s e e   b e l o w < / e m > ) ; < / c o d e > < / h 3 > 
 
         < b l o c k q u o t e > 
 
                 < p > < e m > E f f e c t s : < / e m >   < i n s > < c o d e > o p e r a t o r = ( v a r i a n t ( s t d : : f o r w a r d & l t ; T & g t ; ( t ) ) ) < / c o d e > . < / i n s > < / p > 
 
                 < p > < e m > R e t u r n s : < / e m >   < c o d e > * t h i s < / c o d e > . < / p > 
 
                 < p > < e m > R e m a r k s : < / e m > 
 
                         T h i s   f u n c t i o n   s h a l l   n o t   p a r t i c i p a t e   i n   o v e r l o a d   r e s o l u t i o n   u n l e s s   < c o d e > i s _ s a m e _ v & l t ; d e c a y _ t & l t ; T & g t ; ,   v a r i a n t & g t ; < / c o d e >   i s   < c o d e > f a l s e < / c o d e > 
 
                         < i n s >   a n d   u n l e s s   < c o d e > v a r i a n t ( s t d : : f o r w a r d & l t ; T & g t ; ( t ) ) < / c o d e >   i s   a   v a l i d   e x p r e s s i o n .   T h e   e x p r e s s i o n   i n s i d e   < c o d e > n o e x c e p t < / c o d e >   i s 
 
                         < c o d e > n o e x c e p t ( o p e r a t o r = ( v a r i a n t ( s t d : : f o r w a r d & l t ; T & g t ; ( t ) ) ) ) < / c o d e > < / i n s > . < / p > 
 
         < / b l o c k q u o t e > 
 
         < p > 
 
                 T h e   e x i s t i n g   s p e c i f i c a t i o n   o f   t h i s   a s s i g n m e n t   n e e d l e s s l y   d u p l i c a t e s   t h e   w o r d i n g   i n   < c o d e > v a r i a n t : : v a r i a n t ( T & a m p ; & a m p ;   t ) < / c o d e > t h a t   s e l e c t s   t h e   a l t e r n a t i v e 
 
                 u s i n g   o v e r l o a d   r e s o l u t i o n ,   a n d   d o e s   n o t   p r o v i d e   a n y   n o n - v a l u e l e s s   g u a r a n t e e s   d u e   t o   i n i t i a l i z i n g   d i r e c t l y   f r o m   < c o d e > t < / c o d e >   i n s t e a d   o f   u s i n g 
 
                 t h e   p o t e n t i a l l y   < c o d e > n o e x c e p t < / c o d e >   m o v e   c o n s t r u c t o r   o f   t h e   s e l e c t e d   c o n t a i n e d   t y p e .   I   h a v e   o p t e d   t o   u s e   t h e   c l e a n e s t   f i x   i n   t h e   a b o v e   s u g g e s t e d   w o r d i n g . 
 
                 I t ' s   p o s s i b l e   t o   e x p a n d   t h e   e x p r e s s i o n   < c o d e > o p e r a t o r = ( v a r i a n t ( s t d : : f o r w a r d & l t ; T & g t ; ( t ) ) ) < / c o d e >   i n t o   t h e   s p e c i f i c a t i o n ,   b u t   t h e   o n l y   t h i n g   t h a t   t h i s   g a i n s 
 
                 i s   c o l l a p s i n g   t w o   a d j a c e n t   m o v e   c o n s t r u c t o r s   c a l l s   i n t o   o n e ,   a n d   t h e   i m p l e m e n t a t i o n   i s   p e r m i t t e d   t o   d o   t h i s   a n y w a y   u n d e r   t h e   a s - i f   r u l e ,   s o   t h e   b e n e f i t s   d o 
 
                 n o t   o u t w e i g h   t h e   c o s t s   o f   u s i n g   t h e   m o r e   c o m p l i c a t e d   w o r d i n g ,   w i t h   t h e   a s s o c i a t e d   p o s s i b i l i t y   o f   g e t t i n g   i t   w r o n g . < / p > 
 
         < p > 
 
                 O r ,   a n o t h e r   o p t i o n   i s   t o   r e m o v e   t h i s   a s s i g n m e n t   o p e r a t o r   a l t o g e t h e r ,   w h i c h   w o u l d   b e   e q u i v a l e n t   t o   t h i s   s p e c i f i c a t i o n . < / p > 
 
 
 
         < h 3 > < c o d e > t e m p l a t e   & l t ; s i z e _ t   I ,   c l a s s . . .   A r g s & g t ;   v o i d   e m p l a c e ( A r g s & a m p ; & a m p ; . . .   a r g s ) ; < / c o d e > < / h 3 > 
 
         < b l o c k q u o t e > 
 
                 < p > < e m > R e q u i r e s : < / e m >   < c o d e > I   & l t ;   s i z e o f . . . ( T y p e s ) < / c o d e > < / p > 
 
                 < p > < e m > E f f e c t s : < / e m >   < d e l > D e s t r o y s   t h e   c u r r e n t l y   c o n t a i n e d   v a l u e   i f   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n ( ) < / c o d e >   i s   < c o d e > f a l s e < / c o d e > .   T h e n   d i r e c t - i n i t i a l i z e s   t h e 
 
                         c o n t a i n e d   v a l u e   a s   i f   c o n s t r u c t i n g   a   v a l u e   o f   t y p e   < c o d e > T _ I < / c o d e >   w i t h   t h e   a r g u m e n t s   < c o d e > s t d : : f o r w a r d & l t ; A r g s & g t ; ( a r g s ) . . . < / c o d e > . < / d e l > < / p > 
 
                         < u l > 
 
                         < l i > < i n s > I f   < c o d e > i s _ n o t h r o w _ c o n s t r u c t i b l e _ v & l t ; T _ I ,   A r g s & a m p ; & a m p ; . . . & g t ;   | |   ! i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e _ v & l t ; T _ I & g t ; < / c o d e > ,   d e s t r o y s   t h e   c u r r e n t l y   c o n t a i n e d   v a l u e   i f   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n ( ) < / c o d e > 
 
                                 i s   < c o d e > f a l s e < / c o d e >   a n d   d i r e c t - i n i t i a l i z e s   t h e   c o n t a i n e d   v a l u e   a s   i f   c o n s t r u c t i n g   a   v a l u e   o f   t y p e   < c o d e > T _ I < / c o d e >   w i t h   t h e   a r g u m e n t s   < c o d e > s t d : : f o r w a r d & l t ; A r g s & g t ; ( a r g s ) . . . < / c o d e > .   O t h e r w i s e , < / i n s > < / l i > 
 
                         < l i > < i n s > d i r e c t - i n i t i a l i z e s   a   t e m p o r a r y   < c o d e > T M P < / c o d e >   o f   t y p e   < c o d e > T _ I < / c o d e >   w i t h   t h e   a r g u m e n t s   < c o d e > s t d : : f o r w a r d & l t ; A r g s & g t ; ( a r g s ) . . . < / c o d e > , 
 
                                 d e s t r o y s   t h e   c u r r e n t l y   c o n t a i n e d   v a l u e   i f   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n ( ) < / c o d e >   i s   < c o d e > f a l s e < / c o d e > 
 
                                 a n d   d i r e c t - i n i t i a l i z e s   t h e   c o n t a i n e d   v a l u e   a s   i f   c o n s t r u c t i n g   a   v a l u e   o f   t y p e   < c o d e > T _ I < / c o d e >   w i t h   t h e   a r g u m e n t   < c o d e > s t d : : f o r w a r d & l t ; T _ I & g t ; ( T M P ) < / c o d e > . < / i n s > < / l i > 
 
                         < / u l > 
 
                 < p > < e m > P o s t c o n d i t i o n : < / e m >   < c o d e > i n d e x ( ) < / c o d e >   i s   < c o d e > I < / c o d e > . < / p > 
 
                 < p > < e m > T h r o w s : < / e m >   A n y   e x c e p t i o n   t h r o w n   d u r i n g   t h e   i n i t i a l i z a t i o n   o f   t h e   c o n t a i n e d   v a l u e . < / p > 
 
                 < p > < e m > R e m a r k s : < / e m >   T h i s   f u n c t i o n   s h a l l   n o t   p a r t i c i p a t e   i n   o v e r l o a d   r e s o l u t i o n   u n l e s s   < c o d e > i s _ c o n s t r u c t i b l e _ v & l t ; T _ I ,   A r g s & a m p ; & a m p ; . . . & g t ; < / c o d e >   i s   < c o d e > t r u e < / c o d e > . 
 
                         I f   a n   e x c e p t i o n   i s   t h r o w n   d u r i n g   t h e   i n i t i a l i z a t i o n   o f   t h e   c o n t a i n e d   v a l u e ,   t h e   < c o d e > v a r i a n t < / c o d e >   w i l l   n o t   h o l d   a   v a l u e . < / p > 
 
         < / b l o c k q u o t e > 
 
         < p > 
 
                 A s   a b o v e :   T h e s e   c h a n g e s   m a k e   s u r e   t h a t   w h e n   t h e   m o v e   c o n s t r u c t o r   o f   < c o d e > T _ I < / c o d e >   i s   < c o d e > n o e x c e p t < / c o d e > ,   < c o d e > e m p l a c e < / c o d e >   w i l l   n e v e r   p u t   t h e   < c o d e > v a r i a n t < / c o d e > 
 
                 i n t o   t h e   v a l u e l e s s   s t a t e   a n d   t h a t   i t   w i l l   p r o v i d e   t h e   s t r o n g   e x c e p t i o n   s a f e t y   g u a r a n t e e . < / p > 
 
 
 
         < h 3 > < c o d e > t e m p l a t e   & l t ; s i z e _ t   I ,   c l a s s   U ,   c l a s s . . .   A r g s & g t ;   v o i d   e m p l a c e ( i n i t i a l i z e r _ l i s t & l t U & g t ;   i l ,   A r g s & a m p ; & a m p ; . . .   a r g s ) ; < / c o d e > < / h 3 > 
 
         < b l o c k q u o t e > 
 
                 < p > < e m > R e q u i r e s : < / e m >   < c o d e > I   & l t ;   s i z e o f . . . ( T y p e s ) < / c o d e > < / p > 
 
                 < p > < e m > E f f e c t s : < / e m >   < d e l > D e s t r o y s   t h e   c u r r e n t l y   c o n t a i n e d   v a l u e   i f   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n ( ) < / c o d e >   i s   < c o d e > f a l s e < / c o d e > .   T h e n   d i r e c t - i n i t i a l i z e s   t h e 
 
                         c o n t a i n e d   v a l u e   a s   i f   c o n s t r u c t i n g   a   v a l u e   o f   t y p e   < c o d e > T _ I < / c o d e >   w i t h   t h e   a r g u m e n t s   < c o d e > i l ,   s t d : : f o r w a r d & l t ; A r g s & g t ; ( a r g s ) . . . < / c o d e > . < / d e l > < / p > 
 
                         < u l > 
 
                         < l i > < i n s > I f   < c o d e > i s _ n o t h r o w _ c o n s t r u c t i b l e _ v & l t ; T _ I ,   i n i t i a l i z e r _ l i s t & l t ; U & g t ; & a m p ; ,   A r g s & a m p ; & a m p ; . . . & g t ;   | |   ! i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e _ v & l t ; T _ I & g t ; < / c o d e > ,   d e s t r o y s   t h e   c u r r e n t l y   c o n t a i n e d   v a l u e   i f   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n ( ) < / c o d e > 
 
                                 i s   < c o d e > f a l s e < / c o d e >   a n d   d i r e c t - i n i t i a l i z e s   t h e   c o n t a i n e d   v a l u e   a s   i f   c o n s t r u c t i n g   a   v a l u e   o f   t y p e   < c o d e > T _ I < / c o d e >   w i t h   t h e   a r g u m e n t s   < c o d e > i l ,   s t d : : f o r w a r d & l t ; A r g s & g t ; ( a r g s ) . . . < / c o d e > .   O t h e r w i s e , < / i n s > < / l i > 
 
                         < l i > < i n s > d i r e c t - i n i t i a l i z e s   a   t e m p o r a r y   < c o d e > T M P < / c o d e >   o f   t y p e   < c o d e > T _ I < / c o d e >   w i t h   t h e   a r g u m e n t s   < c o d e > i l ,   s t d : : f o r w a r d & l t ; A r g s & g t ; ( a r g s ) . . . < / c o d e > , 
 
                                 d e s t r o y s   t h e   c u r r e n t l y   c o n t a i n e d   v a l u e   i f   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n ( ) < / c o d e >   i s   < c o d e > f a l s e < / c o d e > 
 
                                 a n d   d i r e c t - i n i t i a l i z e s   t h e   c o n t a i n e d   v a l u e   a s   i f   c o n s t r u c t i n g   a   v a l u e   o f   t y p e   < c o d e > T _ I < / c o d e >   w i t h   t h e   a r g u m e n t   < c o d e > s t d : : f o r w a r d & l t ; T _ I & g t ; ( T M P ) < / c o d e > . < / i n s > < / l i > 
 
                         < / u l > 
 
                 < p > < e m > P o s t c o n d i t i o n : < / e m >   < c o d e > i n d e x ( ) < / c o d e >   i s   < c o d e > I < / c o d e > . < / p > 
 
                 < p > < e m > T h r o w s : < / e m >   A n y   e x c e p t i o n   t h r o w n   d u r i n g   t h e   i n i t i a l i z a t i o n   o f   t h e   c o n t a i n e d   v a l u e . < / p > 
 
                 < p > < e m > R e m a r k s : < / e m >   T h i s   f u n c t i o n   s h a l l   n o t   p a r t i c i p a t e   i n   o v e r l o a d   r e s o l u t i o n   u n l e s s   < c o d e > i s _ c o n s t r u c t i b l e _ v & l t ; T _ I ,   i n i t i a l i z e r _ l i s t & l t ; U & g t ; & a m p ; ,   A r g s & a m p ; & a m p ; . . . & g t ; < / c o d e >   i s   < c o d e > t r u e < / c o d e > . 
 
                         I f   a n   e x c e p t i o n   i s   t h r o w n   d u r i n g   t h e   i n i t i a l i z a t i o n   o f   t h e   c o n t a i n e d   v a l u e ,   t h e   < c o d e > v a r i a n t < / c o d e >   w i l l   n o t   h o l d   a   v a l u e . < / p > 
 
         < / b l o c k q u o t e > 
 
         < p > 
 
                 A s   a b o v e . < / p > 
 
 
 
         < h 3 > < c o d e > t e m p l a t e   & l t ; c l a s s   T ,   c l a s s . . .   A r g s & g t ;   v o i d   e m p l a c e ( A r g s & a m p ; & a m p ; . . .   a r g s ) ; < / c o d e > < / h 3 > 
 
         < h 3 > < c o d e > t e m p l a t e   & l t ; c l a s s   T ,   c l a s s   U ,   c l a s s . . .   A r g s & g t ;   v o i d   e m p l a c e ( i n i t i a l i z e r _ l i s t & l t U & g t ;   i l ,   A r g s & a m p ; & a m p ; . . .   a r g s ) ; < / c o d e > < / h 3 > 
 
         < p > 
 
                 T h e s e   t w o   o v e r l o a d s   o f   < c o d e > e m p l a c e < / c o d e >   a r e   s p e c i f i e d   i n   t e r m s   o f   t h e   i n d e x - b a s e d   o n e s ,   s o   n o   c h a n g e s   a r e   r e q u i r e d . < / p > 
 
 
 
         < h 3 > < c o d e > c o n s t e x p r   b o o l   v a l u e l e s s _ b y _ e x c e p t i o n ( )   c o n s t   n o e x c e p t ; < / c o d e > < / h 3 > 
 
         < b l o c k q u o t e > 
 
                 < p > < e m > E f f e c t s : < / e m >   R e t u r n s   < c o d e > f a l s e < / c o d e >   i f   a n d   o n l y   i f   t h e   v a r i a n t   h o l d s   a   v a l u e . 
 
                         [ N o t e :   A   v a r i a n t   w i l l   n o t   h o l d   a   v a l u e   i f   a n   e x c e p t i o n   i s   t h r o w n   < i n s > f r o m   t h e   m o v e   c o n s t r u c t o r   o f   t h e   c o n t a i n e d   t y p e < / i n s >   d u r i n g   a   t y p e - c h a n g i n g   a s s i g n m e n t   o r   e m p l a c e m e n t .   & m d a s h ;   < e m > e n d   n o t e < / e m > ] < / p > 
 
                 < p > < e m > R e m a r k s : < / e m >   < i n s >   T h i s   f u n c t i o n   s h a l l   b e   < c o d e > s t a t i c < / c o d e >   a n d   a l w a y s   r e t u r n   < c o d e > f a l s e < / c o d e >   w h e n   < c o d e > i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e _ v & l t ; T _ i & g t ; < / c o d e >   i s   < c o d e > t r u e < / c o d e >   f o r   a l l   < c o d e > i < / c o d e > . 
 
                         [ N o t e :   < c o d e > s t a t i c _ a s s e r t ( v a r i a n t & l t ; T y p e s . . . & g t ; : : v a l u e l e s s _ b y _ e x c e p t i o n ( )   = =   f a l s e ) ; < / c o d e >   m a y   b e   u s e d   t o   v e r i f y   t h a t   a   < c o d e > v a r i a n t & l t ; T y p e s . . . & g t ; < / c o d e >   m a y   n e v e r   b e c o m e   v a l u e l e s s .   & m d a s h ;   < e m > e n d   n o t e < / e m > ] < / i n s > < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < h 2 > I V .   P i l f e r i n g < / h 2 > 
 
         < p > 
 
                 T h e   c h a n g e s   i n   t h e   p r e c e d i n g   s e c t i o n   d o   g i v e   u s   t h e   n e c e s s a r y   g u a r a n t e e s   i n   m o s t   c a s e s ,   b u t   t h e r e ' s   s t i l l   a   p r o b l e m   w i t h ,   f o r   e x a m p l e ,   < c o d e > v a r i a n t & l t ; i n t ,   s t d : : l i s t & l t ; i n t & g t ; & g t ; < / c o d e > . 
 
                 U n d e r   s o m e   i m p l e m e n t a t i o n s ,   e v e r y   < c o d e > l i s t < / c o d e >   i n s t a n c e   a l l o c a t e s   a   s e n t i n e l   n o d e ,   a n d   s i n c e   < c o d e > l i s t < / c o d e > ' s   m o v e   c o n s t r u c t o r   n e e d s   t o   l e a v e   t h e   m o v e d - f r o m   o b j e c t   i n   a   v a l i d 
 
                 s t a t e ,   i t   c a n ' t   s t e a l   i t s   s e n t i n e l   n o d e   f o r   t h e   n e w   i n s t a n c e ,   f o r c i n g   a n   a l l o c a t i o n   a n d   t h e r e f o r e   p r e c l u d i n g   < c o d e > n o e x c e p t < / c o d e > .   T h i s   m e a n s   t h a t   < c o d e > v a r i a n t & l t ; i n t ,   s t d : : l i s t & l t ; i n t & g t ; & g t ; < / c o d e > 
 
                 w o u l d   b e   g u a r a n t e e d   v a l u e l e s s   o n   s o m e   i m p l e m e n t a t i o n s   a n d   n o t   o n   o t h e r s ,   w h i c h   i s   a   p o r t a b i l i t y   c o n c e r n . < / p > 
 
         < p > 
 
                 I t   s o   h a p p e n s   t h a t   t h e   i m p l e m e n t a t i o n   o f   < c o d e > v a r i a n t < / c o d e >   u s u a l l y   m o v e s   f r o m   a n   i n t e r n a l   t e m p o r a r y   t h a t   i s   l a t e r   d e s t r o y e d   a n d   i s   i n v i s i b l e   t o   t h e   o u t s i d e   c o d e .   A   m o v e - c o n s t r u c t e d 
 
                 < c o d e > l i s t < / c o d e >   c o u l d ,   t h e r e f o r e ,   s t e a l   t h e   s e n t i n e l   n o d e   o f   t h i s   t e m p o r a r y ,   b u t   t h e r e   i s   n o   s t a n d a r d   p r o t o c o l   f o r   d o i n g   s o . < / p > 
 
         < p > 
 
                 T h e   i m p l e m e n t a t i o n   o f   < c o d e > s t d : : v a r i a n t < / c o d e >   c o u l d ,   o f   c o u r s e ,   d e t e c t   < c o d e > s t d : : l i s t < / c o d e >   a n d   u s e   s o m e   i n t e r n a l   c o n s t r u c t o r   i n s t e a d ,   a n d   o n e   m i g h t   a r g u e   t h a t   a   q u a l i t y   i m p l e m e n t a t i o n 
 
                 o u g h t   t o   d o   s o ,   b u t   t h i s   c a n n o t   e x t e n d   t o   u s e r - d e f i n e d   t y p e s ,   o r   e v e n   t o   < c o d e > s t d : : p a i r & l t ; T ,   s t d : : l i s t & l t ; i n t & g t ; & g t ; < / c o d e > . < / p > 
 
         < p > 
 
                 T h i s   s e c t i o n   p r o p o s e s   a   g e n e r a l   m e c h a n i s m   t o   e n a b l e   s u c h   s e m i - d e s t r u c t i v e   m o v e   c o n s t r u c t i o n ,   a f t e r   w h i c h   t h e   m o v e d - f r o m   o b j e c t   c a n   b e   s a f e l y   d e s t r o y e d ,   b u t   i s   n o t   g u a r a n t e e d   t o   b e 
 
                 u s a b l e   i n   a n y   o t h e r   w a y .   T h i s   s e m i - d e s t r u c t i v e   m o v e   i s   c a l l e d   < e m > p i l f e r i n g < / e m >   a n d   i s   a c c e s s e d   b y   a   c o n s t r u c t o r   w i t h   t h e   s i g n a t u r e   < c o d e > T : : T ( s t d : : p i l f e r e d & l t ; T & g t ; )   n o e x c e p t < / c o d e > , 
 
                 w h e r e   < c o d e > s t d : : p i l f e r e d & l t ; T & g t ; < / c o d e >   w r a p s   a   r e f e r e n c e   t o   < c o d e > T < / c o d e > : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > t e m p l a t e & l t ; c l a s s   T & g t ;   c l a s s   p i l f e r e d 
 
 { 
 
 p r i v a t e : 
 
 
 
         T & a m p ;   t _ ; 
 
 
 
 p u b l i c : 
 
 
 
         e x p l i c i t   c o n s t e x p r   p i l f e r e d ( T & a m p ; & a m p ;   t )   n o e x c e p t :   t _ ( t )   { } 
 
 
 
         c o n s t e x p r   T & a m p ;   g e t ( )   c o n s t   n o e x c e p t   {   r e t u r n   t _ ;   } 
 
         c o n s t e x p r   T *   o p e r a t o r - & g t ; ( )   c o n s t   n o e x c e p t   {   r e t u r n   s t d : : a d d r e s s o f ( t _ ) ;   } 
 
 } ; < / p r e > 
 
         < / b l o c k q u o t e > 
 
         < p > a n d   t h e r e ' s   a l s o   a   c o r r e s p o n d i n g   t y p e   t r a i t   < c o d e > s t d : : i s _ p i l f e r _ c o n s t r u c t i b l e & l t ; T & g t ; < / c o d e >   a n d   a   h e l p e r   f u n c t i o n   < c o d e > s t d : : p i l f e r ( t ) < / c o d e >   w h i c h   i s   a n a l o g o u s   t o   < c o d e > s t d : : m o v e ( t ) < / c o d e > : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > t e m p l a t e & l t ; c l a s s   T & g t ;   s t r u c t   i s _ p i l f e r _ c o n s t r u c t i b l e :   s t d : : i n t e g r a l _ c o n s t a n t & l t ; b o o l ,   s t d : : i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e & l t ; T & g t ; : : v a l u e   | |   ( s t d : : i s _ n o t h r o w _ c o n s t r u c t i b l e & l t ; T ,   p i l f e r e d & l t ; T & g t ; & g t ; : : v a l u e   & &   ! s t d : : i s _ n o t h r o w _ c o n s t r u c t i b l e & l t ; T ,   _ _ n o t _ p i l f e r e d & l t ; T & g t ; & g t ; : : v a l u e ) & g t ; 
 
 { 
 
 } ; 
 
 
 
 t e m p l a t e & l t ; c l a s s   T & g t ;   c o n s t e x p r   d e c l t y p e ( a u t o )   p i l f e r ( T & a m p ; & a m p ;   t )   n o e x c e p t 
 
 { 
 
         u s i n g   U   =   s t d : : r e m o v e _ r e f e r e n c e _ t & l t ; T & g t ; ; 
 
         r e t u r n   s t d : : c o n d i t i o n a l _ t & l t ; s t d : : i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e & l t ; U & g t ; : : v a l u e   | |   ! i s _ p i l f e r _ c o n s t r u c t i b l e & l t ; U & g t ; : : v a l u e ,   U & a m p ; & a m p ; ,   p i l f e r e d & l t ; U & g t ; & g t ; ( s t d : : m o v e ( t ) ) ; 
 
 } 
 
 < / p r e > 
 
         < / b l o c k q u o t e > 
 
         < p > 
 
                 < c o d e > i s _ p i l f e r _ c o n s t r u c t i b l e & l t ; T & g t ; < / c o d e >   r e p o r t s   t r u e   w h e n   < c o d e > T < / c o d e >   h a s   e i t h e r   a   < c o d e > n o e x c e p t < / c o d e >   m o v e   c o n s t r u c t o r   o r   a   < c o d e > n o e x c e p t < / c o d e >   p i l f e r i n g   c o n s t r u c t o r .   I t   c h e c k s   f o r 
 
                 c o n s t r u c t i o n   f r o m   < c o d e > _ _ n o t _ p i l f e r e d < / c o d e > ,   w h i c h   h a s   t h e   s a m e   d e f i n i t i o n   a s   < c o d e > p i l f e r e d < / c o d e > ,   i n   o r d e r   t o   d e t e c t   f a l s e   p o s i t i v e s   c a u s e d   b y   t y p e s   t h a t   a r e   c o n s t r u c t i b l e 
 
                 f r o m   a n   a r g u m e n t   o f   a n y   t y p e . < / p > 
 
         < p > 
 
                 < c o d e > p i l f e r ( t ) < / c o d e >   r e t u r n s   e i t h e r   a n   r v a l u e   r e f e r e n c e   t o   < c o d e > t < / c o d e >   o r   a   < c o d e > p i l f e r e d & l t ; T & g t ; < / c o d e >   i n s t a n c e   t h a t   r e f e r s   t o   < c o d e > t < / c o d e > ,   a s   a p p r o p r i a t e . < / p > 
 
         < p > 
 
                 I n   t h e   p a s t   I   h a v e   s u g g e s t e d   a   p i l f e r i n g   m e c h a n i s m   t h a t   u s e s   a   f u n c t i o n   i n s t e a d   o f   a   c o n s t r u c t o r ,   b u t   a   f u n c t i o n - b a s e d   a p p r o a c h   d o e s   n o t   c o m p o s e .   A   p i l f e r i n g   c o n s t r u c t o r   f o r < / p > 
 
 
 
 < b l o c k q u o t e > < p r e > s t r u c t   X 
 
 { 
 
         T   t ; 
 
         U   u ; 
 
 } ; < / p r e > < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 w h e r e   < c o d e > T < / c o d e >   a n d   < c o d e > U < / c o d e >   a r e   k n o w n   t o   b e   e i t h e r   < c o d e > n o e x c e p t < / c o d e >   m o v e   c o n s t r u c t i b l e   o r   p i l f e r   c o n s t r u c t i b l e ,   c a n   b e   a d d e d   v i a < / p > 
 
 
 
 < b l o c k q u o t e > < p r e > s t r u c t   X 
 
 { 
 
         T   t ; 
 
         U   u ; 
 
 
 
         X ( s t d : : p i l f e r e d & l t ; X & g t ;   r )   n o e x c e p t :   t ( s t d : : p i l f e r ( r - & g t ; t ) ) ,   u ( s t d : : p i l f e r ( r - & g t ; u ) )   { } 
 
 } ; < / p r e > < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 w h i c h   i s   a n a l o g o u s   t o   a d d i n g   a n   o r d i n a r y   m o v e   c o n s t r u c t o r . < / p > 
 
         < p > 
 
                 T h e   c a s e   i n   w h i c h   < c o d e > T < / c o d e >   a n d   < c o d e > U < / c o d e >   a r e   n o t   k n o w n   i n   a d v a n c e ,   s u c h   a s   w i t h   < c o d e > s t d : : p a i r < / c o d e > , 
 
                 b e c o m e s   m o r e   c o n v o l u t e d   b e c a u s e   t h e   i n i t i a l i z a t i o n   o f   t h e   m e m b e r s   m i g h t   t h r o w ,   a n d   w e   d o n ' t   w a n t   t o   d e f i n e   t h e   p i l f e r i n g 
 
                 c o n s t r u c t o r   i n   t h i s   c a s e   ( i t   m a k e s   n o   s e n s e   t o   d e f i n e   a   p i l f e r i n g   c o n s t r u c t o r   t h a t   i s   n o t   < c o d e > n o e x c e p t < / c o d e > . ) 
 
                 < c o d e > i s _ p i l f e r _ c o n s t r u c t i b l e & l t ; T & g t ; < / c o d e >   c a n   b e   u s e d   t o   d i s a b l e   t h e   p i l f e r i n g   c o n s t r u c t o r   v i a   S F I N A E .   O n e   p o s s i b l e   i m p l e m e n t a t i o n 
 
                 o f   < c o d e > X < / c o d e > ' s   p i l f e r i n g   c o n s t r u c t o r   f o r   t h e   t e m p l a t e   c a s e   w o u l d   b e < / p > 
 
 < b l o c k q u o t e > < p r e > t e m p l a t e & l t ; c l a s s   T ,   c l a s s   U & g t ;   s t r u c t   X 
 
 { 
 
         T   t ; 
 
         U   u ; 
 
 
 
         t e m p l a t e & l t ; c l a s s   T 2   =   T ,   c l a s s   U 2   =   U ,   c l a s s   E   =   i n t [ s t d : : i s _ p i l f e r _ c o n s t r u c t i b l e _ v & l t ; T 2 & g t ;   & a m p ; & a m p ;   s t d : : i s _ p i l f e r _ c o n s t r u c t i b l e _ v & l t ; U 2 & g t ; ?   1 :   - 1 ] & g t ; 
 
         X ( s t d : : p i l f e r e d & l t ; X & g t ;   r )   n o e x c e p t :   t ( s t d : : p i l f e r ( r - & g t ; t ) ) ,   u ( s t d : : p i l f e r ( r - & g t ; u ) )   { } 
 
 } ; < / p r e > < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 < c o d e > i s _ p i l f e r _ c o n s t r u c t i b l e < / c o d e >   i s   s a t i s f i e d   b y   e i t h e r   a   < c o d e > n o e x c e p t < / c o d e >   m o v e   c o n s t r u c t o r   o r   a   < c o d e > n o e x c e p t < / c o d e >   p i l f e r i n g   c o n s t r u c t o r , 
 
                 a n d   t h e   e x p r e s s i o n   < c o d e > t ( s t d : : p i l f e r ( r - & g t ; t ) ) < / c o d e >   w i l l   w o r k   w i t h   e i t h e r ,   s o   a   c o m b i n a t o r i a l   e x p l o s i o n   d o e s   n o t   o c c u r . < / p > 
 
 
 
         < p > 
 
                 T h e   s t a n d a r d   w o r d i n g   f o r   p i l f e r i n g   ( r e l a t i v e   t o   N 4 5 6 7 )   i s   g i v e n   b e l o w . < / p > 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   t h e   s y n o p s i s   o f   h e a d e r   < c o d e > & l t ; u t i l i t y & g t ; < / c o d e >   i n   [ u t i l i t y ]   t h e   f o l l o w i n g : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > < i n s > / /   2 0 . x ,   P i l f e r i n g 
 
 t e m p l a t e & l t ; c l a s s   T & g t ;   c l a s s   p i l f e r e d ; 
 
 t e m p l a t e & l t ; c l a s s   T & g t ;   c o n s t e x p r   d e c l t y p e ( a u t o )   p i l f e r ( T & a m p ; & a m p ;   t )   n o e x c e p t ; < / i n s > < / p r e > 
 
         < / b l o c k q u o t e > 
 
         < p > 
 
                 & m d a s h ;   A f t e r   [ i n t s e q ] ,   a d d   n e w   s e c t i o n s   [ p i l f e r e d ]   a n d   [ p i l f e r ] : < / p > 
 
         < b l o c k q u o t e > 
 
         < p > < i n s > < s t r o n g > 2 0 . x   C l a s s   t e m p l a t e   < c o d e > p i l f e r e d < / c o d e >   [ p i l f e r e d ] < / s t r o n g > < / i n s > < / p > 
 
 < p r e > < i n s > t e m p l a t e & l t ; c l a s s   T & g t ;   c l a s s   p i l f e r e d 
 
 { 
 
 p r i v a t e : 
 
 
 
         T & a m p ;   t _ ; 
 
 
 
 p u b l i c : 
 
 
 
         e x p l i c i t   c o n s t e x p r   p i l f e r e d ( T & a m p ; & a m p ;   t )   n o e x c e p t ; 
 
         c o n s t e x p r   T & a m p ;   g e t ( )   c o n s t   n o e x c e p t ; 
 
         c o n s t e x p r   T *   o p e r a t o r - & g t ; ( )   c o n s t   n o e x c e p t ; 
 
 } ; < / i n s > < / p r e > 
 
         < p > 
 
                 < i n s > < c o d e > p i l f e r e d & l t ; T & g t ; < / c o d e >   w r a p s   a   r e f e r e n c e   t o   < c o d e > T < / c o d e >   a n d   i s   u s e d   a s   a n   a r g u m e n t   t o   < c o d e > T < / c o d e > ' s   < e m > p i l f e r i n g   c o n s t r u c t o r < / e m > .   P i l f e r i n g   c o n s t r u c t o r s 
 
                 h a v e   t h e   f o r m   < c o d e > T : : T ( p i l f e r e d & l t ; T & g t ; )   n o e x c e p t < / c o d e >   a n d   p e r f o r m   a   s e m i - d e s t r u c t i v e   m o v e .   A f t e r   a   c a l l   t o   a   p i l f e r i n g   c o n s t r u c t o r ,   t h e   m o v e d - f r o m   o b j e c t   c a n   b e   s a f e l y   d e s t r o y e d , 
 
                 b u t   c a n n o t   b e   u s e d   i n   a n y   o t h e r   w a y . < / i n s > < / p > 
 
 
 
         < p > < i n s > < c o d e > e x p l i c i t   c o n s t e x p r   p i l f e r e d ( T & a m p ; & a m p ;   t )   n o e x c e p t ; < / c o d e > < / i n s > < / p > 
 
         < p   s t y l e = " m a r g i n - l e f t :   2 . 5 e m ; " > < i n s > < e m > E f f e c t s : < / e m >   I n i t i a l i z e s   < c o d e > t _ < / c o d e >   t o   < c o d e > t < / c o d e > . < / i n s > < / p > 
 
 
 
         < p > < i n s > < c o d e > c o n s t e x p r   T & a m p ;   g e t ( )   c o n s t   n o e x c e p t ; < / c o d e > < / i n s > < / p > 
 
         < p   s t y l e = " m a r g i n - l e f t :   2 . 5 e m ; " > < i n s > < e m > R e t u r n s : < / e m >   < c o d e > t _ < / c o d e > . < / i n s > < / p > 
 
 
 
         < p > < i n s > < c o d e > c o n s t e x p r   T *   o p e r a t o r - & g t ; ( )   c o n s t   n o e x c e p t ; < / c o d e > < / i n s > < / p > 
 
         < p   s t y l e = " m a r g i n - l e f t :   2 . 5 e m ; " > < i n s > < e m > R e t u r n s : < / e m >   < c o d e > a d d r e s s o f ( t _ ) < / c o d e > . < / i n s > < / p > 
 
 
 
         < p > < i n s > < s t r o n g > 2 0 . x   F u n c t i o n   t e m p l a t e   < c o d e > p i l f e r < / c o d e >   [ p i l f e r ] < / s t r o n g > < / i n s > < / p > 
 
 < p r e > < i n s > t e m p l a t e & l t ; c l a s s   T & g t ;   c o n s t e x p r   d e c l t y p e ( a u t o )   p i l f e r ( T & a m p ; & a m p ;   t )   n o e x c e p t ; < / i n s > < / p r e > 
 
         < p   s t y l e = " m a r g i n - l e f t :   2 . 5 e m ; " > < i n s > < e m > R e t u r n s : < / e m >   < c o d e > c o n d i t i o n a l _ t & l t ; i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e _ v & l t ; U & g t ;   | |   ! i s _ p i l f e r _ c o n s t r u c t i b l e _ v & l t ; U & g t ; ,   U & a m p ; & a m p ; ,   p i l f e r e d & l t ; U & g t ; & g t ; ( m o v e ( t ) ) < / c o d e > , 
 
                 w h e r e   < c o d e > U < / c o d e >   i s   < c o d e > r e m o v e _ r e f e r e n c e _ t & l t ; T & g t ; < / c o d e > . < / i n s > < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   I n   t h e   s y n o p s i s   o f   h e a d e r   < c o d e > & l t ; t y p e _ t r a i t s & g t ; < / c o d e >   [ m e t a . t y p e . s y n o p ] ,   i n   t h e   g r o u p   o f   t y p e   p r o p e r t i e s ,   a d d   t h e   f o l l o w i n g : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > t e m p l a t e   & l t ; c l a s s   T & g t ;   s t r u c t   i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e ; 
 
 < i n s > t e m p l a t e   & l t ; c l a s s   T & g t ;   s t r u c t   i s _ p i l f e r _ c o n s t r u c t i b l e ; < / i n s > < / p r e > 
 
         < / b l o c k q u o t e > 
 
         < b l o c k q u o t e > 
 
 < p r e > t e m p l a t e   & l t ; c l a s s   T & g t ;   c o n s t e x p r   b o o l   i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e _ v 
 
     =   i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e & l t ; T & g t ; : : v a l u e ; 
 
 < i n s > t e m p l a t e   & l t ; c l a s s   T & g t ;   c o n s t e x p r   b o o l   i s _ p i l f e r _ c o n s t r u c t i b l e _ v 
 
     =   i s _ p i l f e r _ c o n s t r u c t i b l e & l t ; T & g t ; : : v a l u e ; < / i n s > < / p r e > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   I n   s e c t i o n   [ m e t a . u n a r y . p r o p ] ,   a d d   t h e   f o l l o w i n g   p a r a g r a p h   b e f o r e   T a b l e   4 9 : < / p > 
 
         < b l o c k q u o t e > 
 
         < p > 
 
                 < i n s > I n   t h e   f o l l o w i n g   t a b l e ,   < c o d e > _ _ n o t _ p i l f e r e d < / c o d e >   i s   a   c l a s s   t e m p l a t e   w i t h   a n 
 
                 u n s p e c i f i e d   n a m e   w h o s e   d e f i n i t i o n   i s   t h e   s a m e   a s   t h a t   o f   < c o d e > p i l f e r e d < / c o d e > . < / i n s > < / p > 
 
         < / b l o c k q u o t e > 
 
         < p > 
 
                 & m d a s h ;   I n   s e c t i o n   [ m e t a . u n a r y . p r o p ] ,   a d d   t o   T a b l e   4 9   t h e   f o l l o w i n g   r o w : < / p > 
 
         < t a b l e   b o r d e r = " 1 "   c e l l s p a c i n g = " 0 "   c e l l p a d d i n g = " 6 "   s t y l e = " w i d t h :   6 4 e m ;   m a r g i n - l e f t :   2 . 5 e m ; " > < t r > 
 
                 < t d > < i n s > < c o d e > t e m p l a t e   & l t ; c l a s s   T & g t ;   s t r u c t   i s _ p i l f e r _ c o n s t r u c t i b l e ; < / c o d e > < / i n s > < / t d > 
 
                 < t d > < i n s > F o r   a   r e f e r e n c e a b l e   t y p e   < c o d e > T < / c o d e > ,   t h e   s a m e   r e s u l t   a s 
 
                 < c o d e > i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e _ v & l t T & g t ;   | |   ( i s _ n o t h r o w _ c o n s t r u c t i b l e _ v & l t ; T ,   p i l f e r e d & l t ; T & g t ; & g t ;   & a m p ; & a m p ; 
 
                 ! i s _ n o t h r o w _ c o n s t r u c t i b l e _ v & l t ; T ,   _ _ n o t _ p i l f e r e d & l t ; T & g t ; & g t ; < / c o d e > ) ,   o t h e r w i s e   f a l s e . < b r   / > < b r   / > 
 
                 [ N o t e :   < c o d e > _ _ n o t _ p i l f e r e d < / c o d e >   i s   u s e d   t o   a v o i d   f a l s e   p o s i t i v e s   c a u s e d   b y   t y p e s   t h a t 
 
                 c a n   b e   c o n s t r u c t e d   f r o m   a n y   a r g u m e n t .   & m d a s h ;   < e m > e n d   n o t e < / e m > ] < / i n s > < / t d > 
 
                 < t d > < i n s > < c o d e > T < / c o d e >   s h a l l   b e   a   c o m p l e t e   t y p e ,   ( p o s s i b l y   c v - q u a l i f i e d )   < c o d e > v o i d < / c o d e > ,   o r   a n   a r r a y   o f   u n k n o w n   b o u n d . < / i n s > < / t d > 
 
         < / t r > < / t a b l e > 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   < c o d e > s t r u c t   p a i r < / c o d e >   i n   [ p a i r s . p a i r ]   t h e   f o l l o w i n g   c o n s t r u c t o r : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > p a i r ( c o n s t   p a i r & a m p ; )   =   d e f a u l t ; 
 
 p a i r ( p a i r & a m p ; & a m p ; )   =   d e f a u l t ; 
 
 < i n s > p a i r ( p i l f e r e d & l t ; p a i r & g t ;   r )   n o e x c e p t ; < / i n s > 
 
 c o n s t e x p r   p a i r ( ) ; 
 
 < / p r e > 
 
         < / b l o c k q u o t e > 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   [ p a i r s . p a i r ]   t h e   f o l l o w i n g   s e c t i o n : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > < i n s > p a i r ( p i l f e r e d & l t ; p a i r & g t ;   r )   n o e x c e p t ; < / i n s > < / p r e > 
 
         < p > < i n s > < e m > E f f e c t s : < / e m >   I n i t i a l i z e s   < c o d e > f i r s t < / c o d e >   w i t h   < c o d e > p i l f e r ( r - > f i r s t ) < / c o d e >   a n d   < c o d e > s e c o n d < / c o d e >   w i t h   < c o d e > p i l f e r ( r - > s e c o n d ) < / c o d e > . < / i n s > < / p > 
 
         < p > < i n s > < e m > R e m a r k s : < / e m >   T h i s   c o n s t r u c t o r   s h a l l   n o t   p a r t i c i p a t e   i n   o v e r l o a d   r e s o l u t i o n   u n l e s s   < c o d e > i s _ p i l f e r _ c o n s t r u c t i b l e & l t ; T 1 & g t ; : : v a l u e   & a m p ; & a m p ;   i s _ p i l f e r _ c o n s t r u c t i b l e & l t ; T 2 & g t ; : : v a l u e < / c o d e > . < / i n s > < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   < c o d e > c l a s s   t u p l e < / c o d e >   i n   [ t u p l e . t u p l e ]   t h e   f o l l o w i n g   c o n s t r u c t o r : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > t u p l e ( c o n s t   t u p l e & a m p ; )   =   d e f a u l t ; 
 
 t u p l e ( t u p l e & a m p ; & a m p ; )   =   d e f a u l t ; 
 
 < i n s > t u p l e ( p i l f e r e d & l t ; t u p l e & g t ;   u )   n o e x c e p t ; < / i n s > 
 
 < / p r e > 
 
         < / b l o c k q u o t e > 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   [ t u p l e . c n s t r ]   t h e   f o l l o w i n g   s e c t i o n : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > < i n s > t u p l e ( p i l f e r e d & l t ; t u p l e & g t ;   u )   n o e x c e p t ; < / i n s > < / p r e > 
 
         < p > < i n s > < e m > E f f e c t s : < / e m >   F o r   a l l   < e m > i < / e m > ,   i n i t i a l i z e s   t h e   < e m > i < s u p > t h < / s u p > < / e m >   e l e m e n t   o f   < c o d e > * t h i s < / c o d e > 
 
                 w i t h   < c o d e > g e t & l t ; < e m > i < / e m > & g t ; ( u . g e t ( ) ) < / c o d e >   w h e n   < c o d e > < e m > T < s u b > i < / s u b > < / e m > < / c o d e >   i s   a   r e f e r e n c e   t y p e , 
 
                 < c o d e > p i l f e r ( g e t & l t ; < e m > i < / e m > & g t ; ( u . g e t ( ) ) ) < / c o d e >   o t h e r w i s e . < / i n s > < / p > 
 
         < p > < i n s > < e m > R e m a r k s : < / e m >   T h i s   c o n s t r u c t o r   s h a l l   n o t   p a r t i c i p a t e   i n   o v e r l o a d   r e s o l u t i o n   u n l e s s   < c o d e > i s _ p i l f e r _ c o n s t r u c t i b l e & l t ; < e m > T < s u b > i < / s u b > < / e m > & g t ; : : v a l u e < / c o d e >   i s   < c o d e > t r u e < / c o d e >   f o r   a l l   < e m > i < / e m > . < / i n s > < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   < c o d e > c l a s s   d e q u e < / c o d e >   i n   [ d e q u e . o v e r v i e w ]   t h e   f o l l o w i n g   c o n s t r u c t o r : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > d e q u e ( c o n s t   d e q u e & a m p ;   x ) ; 
 
 d e q u e ( d e q u e & a m p ; & a m p ; ) ; 
 
 < i n s > d e q u e ( p i l f e r e d & l t ; d e q u e & g t ;   x )   n o e x c e p t ; < / i n s > 
 
 < / p r e > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   [ d e q u e . c o n s ]   t h e   f o l l o w i n g   s e c t i o n : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > < i n s > d e q u e ( p i l f e r e d & l t ; d e q u e & g t ;   x )   n o e x c e p t ; < / i n s > < / p r e > 
 
         < p > < i n s > < e m > E f f e c t s : < / e m >   C o n s t r u c t s   < c o d e > * t h i s < / c o d e >   f r o m   t h e   c o n t e n t s   o f   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e > . < / i n s > < / p > 
 
         < p > < i n s > < e m > P o s t c o n d i t i o n s : < / e m >   < c o d e > * t h i s < / c o d e >   h a s   t h e   v a l u e   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   h a d   b e f o r e   t h e   c a l l . < / i n s > < / p > 
 
         < p > < i n s > < e m > R e m a r k s : < / e m >   A f t e r   t h i s   c o n s t r u c t o r ,   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   c a n   s a f e l y   b e   d e s t r o y e d .   T h e   b e h a v i o r   o f   a n y   o t h e r   a c c e s s   t o   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   i s   u n d e f i n e d . < / i n s > < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   < c o d e > c l a s s   f o r w a r d _ l i s t < / c o d e >   i n   [ f o r w a r d l i s t . o v e r v i e w ]   t h e   f o l l o w i n g   c o n s t r u c t o r : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > f o r w a r d _ l i s t ( c o n s t   f o r w a r d _ l i s t & a m p ;   x ) ; 
 
 f o r w a r d _ l i s t ( f o r w a r d _ l i s t & a m p ; & a m p ;   x ) ; 
 
 < i n s > f o r w a r d _ l i s t ( p i l f e r e d & l t ; f o r w a r d _ l i s t & g t ;   x )   n o e x c e p t ; < / i n s > 
 
 < / p r e > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   [ f o r w a r d l i s t . c o n s ]   t h e   f o l l o w i n g   s e c t i o n : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > < i n s > f o r w a r d _ l i s t ( p i l f e r e d & l t ; f o r w a r d _ l i s t & g t ;   x )   n o e x c e p t ; < / i n s > < / p r e > 
 
         < p > < i n s > < e m > E f f e c t s : < / e m >   C o n s t r u c t s   < c o d e > * t h i s < / c o d e >   f r o m   t h e   c o n t e n t s   o f   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e > . < / i n s > < / p > 
 
         < p > < i n s > < e m > P o s t c o n d i t i o n s : < / e m >   < c o d e > * t h i s < / c o d e >   h a s   t h e   v a l u e   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   h a d   b e f o r e   t h e   c a l l . < / i n s > < / p > 
 
         < p > < i n s > < e m > R e m a r k s : < / e m >   A f t e r   t h i s   c o n s t r u c t o r ,   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   c a n   s a f e l y   b e   d e s t r o y e d .   T h e   b e h a v i o r   o f   a n y   o t h e r   a c c e s s   t o   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   i s   u n d e f i n e d . < / i n s > < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   < c o d e > c l a s s   l i s t < / c o d e >   i n   [ l i s t . o v e r v i e w ]   t h e   f o l l o w i n g   c o n s t r u c t o r : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > l i s t ( c o n s t   l i s t & a m p ;   x ) ; 
 
 l i s t ( l i s t & a m p ; & a m p ;   x ) ; 
 
 < i n s > l i s t ( p i l f e r e d & l t ; l i s t & g t ;   x )   n o e x c e p t ; < / i n s > 
 
 < / p r e > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   [ l i s t . c o n s ]   t h e   f o l l o w i n g   s e c t i o n : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > < i n s > l i s t ( p i l f e r e d & l t ; l i s t & g t ;   x )   n o e x c e p t ; < / i n s > < / p r e > 
 
         < p > < i n s > < e m > E f f e c t s : < / e m >   C o n s t r u c t s   < c o d e > * t h i s < / c o d e >   f r o m   t h e   c o n t e n t s   o f   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e > . < / i n s > < / p > 
 
         < p > < i n s > < e m > P o s t c o n d i t i o n s : < / e m >   < c o d e > * t h i s < / c o d e >   h a s   t h e   v a l u e   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   h a d   b e f o r e   t h e   c a l l . < / i n s > < / p > 
 
         < p > < i n s > < e m > R e m a r k s : < / e m >   A f t e r   t h i s   c o n s t r u c t o r ,   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   c a n   s a f e l y   b e   d e s t r o y e d .   T h e   b e h a v i o r   o f   a n y   o t h e r   a c c e s s   t o   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   i s   u n d e f i n e d . < / i n s > < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   < c o d e > c l a s s   m a p < / c o d e >   i n   [ m a p . o v e r v i e w ]   t h e   f o l l o w i n g   c o n s t r u c t o r : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > m a p ( c o n s t   m a p & a m p ;   x ) ; 
 
 m a p ( m a p & a m p ; & a m p ;   x ) ; 
 
 < i n s > m a p ( p i l f e r e d & l t ; m a p & g t ;   x )   n o e x c e p t ; < / i n s > 
 
 < / p r e > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   [ m a p . c o n s ]   t h e   f o l l o w i n g   s e c t i o n : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > < i n s > m a p ( p i l f e r e d & l t ; m a p & g t ;   x )   n o e x c e p t ; < / i n s > < / p r e > 
 
         < p > < i n s > < e m > E f f e c t s : < / e m >   C o n s t r u c t s   < c o d e > * t h i s < / c o d e >   f r o m   t h e   c o n t e n t s   o f   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e > . < / i n s > < / p > 
 
         < p > < i n s > < e m > P o s t c o n d i t i o n s : < / e m >   < c o d e > * t h i s < / c o d e >   h a s   t h e   v a l u e   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   h a d   b e f o r e   t h e   c a l l . < / i n s > < / p > 
 
         < p > < i n s > < e m > R e m a r k s : < / e m >   A f t e r   t h i s   c o n s t r u c t o r ,   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   c a n   s a f e l y   b e   d e s t r o y e d .   T h e   b e h a v i o r   o f   a n y   o t h e r   a c c e s s   t o   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   i s   u n d e f i n e d . < / i n s > < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   < c o d e > c l a s s   m u l t i m a p < / c o d e >   i n   [ m u l t i m a p . o v e r v i e w ]   t h e   f o l l o w i n g   c o n s t r u c t o r : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > m u l t i m a p ( c o n s t   m u l t i m a p & a m p ;   x ) ; 
 
 m u l t i m a p ( m u l t i m a p & a m p ; & a m p ;   x ) ; 
 
 < i n s > m u l t i m a p ( p i l f e r e d & l t ; m u l t i m a p & g t ;   x )   n o e x c e p t ; < / i n s > 
 
 < / p r e > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   [ m u l t i m a p . c o n s ]   t h e   f o l l o w i n g   s e c t i o n : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > < i n s > m u l t i m a p ( p i l f e r e d & l t ; m u l t i m a p & g t ;   x )   n o e x c e p t ; < / i n s > < / p r e > 
 
         < p > < i n s > < e m > E f f e c t s : < / e m >   C o n s t r u c t s   < c o d e > * t h i s < / c o d e >   f r o m   t h e   c o n t e n t s   o f   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e > . < / i n s > < / p > 
 
         < p > < i n s > < e m > P o s t c o n d i t i o n s : < / e m >   < c o d e > * t h i s < / c o d e >   h a s   t h e   v a l u e   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   h a d   b e f o r e   t h e   c a l l . < / i n s > < / p > 
 
         < p > < i n s > < e m > R e m a r k s : < / e m >   A f t e r   t h i s   c o n s t r u c t o r ,   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   c a n   s a f e l y   b e   d e s t r o y e d .   T h e   b e h a v i o r   o f   a n y   o t h e r   a c c e s s   t o   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   i s   u n d e f i n e d . < / i n s > < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   < c o d e > c l a s s   s e t < / c o d e >   i n   [ s e t . o v e r v i e w ]   t h e   f o l l o w i n g   c o n s t r u c t o r : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > s e t ( c o n s t   s e t & a m p ;   x ) ; 
 
 s e t ( s e t & a m p ; & a m p ;   x ) ; 
 
 < i n s > s e t ( p i l f e r e d & l t ; s e t & g t ;   x )   n o e x c e p t ; < / i n s > 
 
 < / p r e > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   [ s e t . c o n s ]   t h e   f o l l o w i n g   s e c t i o n : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > < i n s > s e t ( p i l f e r e d & l t ; s e t & g t ;   x )   n o e x c e p t ; < / i n s > < / p r e > 
 
         < p > < i n s > < e m > E f f e c t s : < / e m >   C o n s t r u c t s   < c o d e > * t h i s < / c o d e >   f r o m   t h e   c o n t e n t s   o f   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e > . < / i n s > < / p > 
 
         < p > < i n s > < e m > P o s t c o n d i t i o n s : < / e m >   < c o d e > * t h i s < / c o d e >   h a s   t h e   v a l u e   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   h a d   b e f o r e   t h e   c a l l . < / i n s > < / p > 
 
         < p > < i n s > < e m > R e m a r k s : < / e m >   A f t e r   t h i s   c o n s t r u c t o r ,   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   c a n   s a f e l y   b e   d e s t r o y e d .   T h e   b e h a v i o r   o f   a n y   o t h e r   a c c e s s   t o   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   i s   u n d e f i n e d . < / i n s > < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   < c o d e > c l a s s   m u l t i s e t < / c o d e >   i n   [ m u l t i s e t . o v e r v i e w ]   t h e   f o l l o w i n g   c o n s t r u c t o r : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > m u l t i s e t ( c o n s t   m u l t i s e t & a m p ;   x ) ; 
 
 m u l t i s e t ( m u l t i s e t & a m p ; & a m p ;   x ) ; 
 
 < i n s > m u l t i s e t ( p i l f e r e d & l t ; m u l t i s e t & g t ;   x )   n o e x c e p t ; < / i n s > 
 
 < / p r e > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   [ m u l t i s e t . c o n s ]   t h e   f o l l o w i n g   s e c t i o n : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > < i n s > m u l t i s e t ( p i l f e r e d & l t ; m u l t i s e t & g t ;   x )   n o e x c e p t ; < / i n s > < / p r e > 
 
         < p > < i n s > < e m > E f f e c t s : < / e m >   C o n s t r u c t s   < c o d e > * t h i s < / c o d e >   f r o m   t h e   c o n t e n t s   o f   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e > . < / i n s > < / p > 
 
         < p > < i n s > < e m > P o s t c o n d i t i o n s : < / e m >   < c o d e > * t h i s < / c o d e >   h a s   t h e   v a l u e   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   h a d   b e f o r e   t h e   c a l l . < / i n s > < / p > 
 
         < p > < i n s > < e m > R e m a r k s : < / e m >   A f t e r   t h i s   c o n s t r u c t o r ,   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   c a n   s a f e l y   b e   d e s t r o y e d .   T h e   b e h a v i o r   o f   a n y   o t h e r   a c c e s s   t o   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   i s   u n d e f i n e d . < / i n s > < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   < c o d e > c l a s s   u n o r d e r e d _ m a p < / c o d e >   i n   [ u n o r d . m a p . o v e r v i e w ]   t h e   f o l l o w i n g   c o n s t r u c t o r : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > u n o r d e r e d _ m a p ( c o n s t   u n o r d e r e d _ m a p & a m p ; ) ; 
 
 u n o r d e r e d _ m a p ( u n o r d e r e d _ m a p & a m p ; & a m p ; ) ; 
 
 < i n s > u n o r d e r e d _ m a p ( p i l f e r e d & l t ; u n o r d e r e d _ m a p & g t ;   x )   n o e x c e p t ; < / i n s > 
 
 < / p r e > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   [ u n o r d . m a p . c n s t r ]   t h e   f o l l o w i n g   s e c t i o n : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > < i n s > u n o r d e r e d _ m a p ( p i l f e r e d & l t ; u n o r d e r e d _ m a p & g t ;   x )   n o e x c e p t ; < / i n s > < / p r e > 
 
         < p > < i n s > < e m > E f f e c t s : < / e m >   C o n s t r u c t s   < c o d e > * t h i s < / c o d e >   f r o m   t h e   c o n t e n t s   o f   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e > . < / i n s > < / p > 
 
         < p > < i n s > < e m > P o s t c o n d i t i o n s : < / e m >   < c o d e > * t h i s < / c o d e >   h a s   t h e   v a l u e   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   h a d   b e f o r e   t h e   c a l l . < / i n s > < / p > 
 
         < p > < i n s > < e m > R e m a r k s : < / e m >   A f t e r   t h i s   c o n s t r u c t o r ,   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   c a n   s a f e l y   b e   d e s t r o y e d .   T h e   b e h a v i o r   o f   a n y   o t h e r   a c c e s s   t o   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   i s   u n d e f i n e d . < / i n s > < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   < c o d e > c l a s s   u n o r d e r e d _ m u l t i m a p < / c o d e >   i n   [ u n o r d . m u l t i m a p . o v e r v i e w ]   t h e   f o l l o w i n g   c o n s t r u c t o r : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > u n o r d e r e d _ m u l t i m a p ( c o n s t   u n o r d e r e d _ m u l t i m a p & a m p ; ) ; 
 
 u n o r d e r e d _ m u l t i m a p ( u n o r d e r e d _ m u l t i m a p & a m p ; & a m p ; ) ; 
 
 < i n s > u n o r d e r e d _ m u l t i m a p ( p i l f e r e d & l t ; u n o r d e r e d _ m u l t i m a p & g t ;   x )   n o e x c e p t ; < / i n s > 
 
 < / p r e > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   [ u n o r d . m u l t i m a p . c n s t r ]   t h e   f o l l o w i n g   s e c t i o n : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > < i n s > u n o r d e r e d _ m u l t i m a p ( p i l f e r e d & l t ; u n o r d e r e d _ m u l t i m a p & g t ;   x )   n o e x c e p t ; < / i n s > < / p r e > 
 
         < p > < i n s > < e m > E f f e c t s : < / e m >   C o n s t r u c t s   < c o d e > * t h i s < / c o d e >   f r o m   t h e   c o n t e n t s   o f   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e > . < / i n s > < / p > 
 
         < p > < i n s > < e m > P o s t c o n d i t i o n s : < / e m >   < c o d e > * t h i s < / c o d e >   h a s   t h e   v a l u e   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   h a d   b e f o r e   t h e   c a l l . < / i n s > < / p > 
 
         < p > < i n s > < e m > R e m a r k s : < / e m >   A f t e r   t h i s   c o n s t r u c t o r ,   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   c a n   s a f e l y   b e   d e s t r o y e d .   T h e   b e h a v i o r   o f   a n y   o t h e r   a c c e s s   t o   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   i s   u n d e f i n e d . < / i n s > < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   < c o d e > c l a s s   u n o r d e r e d _ s e t < / c o d e >   i n   [ u n o r d . s e t . o v e r v i e w ]   t h e   f o l l o w i n g   c o n s t r u c t o r : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > u n o r d e r e d _ s e t ( c o n s t   u n o r d e r e d _ s e t & a m p ; ) ; 
 
 u n o r d e r e d _ s e t ( u n o r d e r e d _ s e t & a m p ; & a m p ; ) ; 
 
 < i n s > u n o r d e r e d _ s e t ( p i l f e r e d & l t ; u n o r d e r e d _ s e t & g t ;   x )   n o e x c e p t ; < / i n s > 
 
 < / p r e > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   [ u n o r d . s e t . c n s t r ]   t h e   f o l l o w i n g   s e c t i o n : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > < i n s > u n o r d e r e d _ s e t ( p i l f e r e d & l t ; u n o r d e r e d _ s e t & g t ;   x )   n o e x c e p t ; < / i n s > < / p r e > 
 
         < p > < i n s > < e m > E f f e c t s : < / e m >   C o n s t r u c t s   < c o d e > * t h i s < / c o d e >   f r o m   t h e   c o n t e n t s   o f   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e > . < / i n s > < / p > 
 
         < p > < i n s > < e m > P o s t c o n d i t i o n s : < / e m >   < c o d e > * t h i s < / c o d e >   h a s   t h e   v a l u e   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   h a d   b e f o r e   t h e   c a l l . < / i n s > < / p > 
 
         < p > < i n s > < e m > R e m a r k s : < / e m >   A f t e r   t h i s   c o n s t r u c t o r ,   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   c a n   s a f e l y   b e   d e s t r o y e d .   T h e   b e h a v i o r   o f   a n y   o t h e r   a c c e s s   t o   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   i s   u n d e f i n e d . < / i n s > < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   < c o d e > c l a s s   u n o r d e r e d _ m u l t i s e t < / c o d e >   i n   [ u n o r d . m u l t i s e t . o v e r v i e w ]   t h e   f o l l o w i n g   c o n s t r u c t o r : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > u n o r d e r e d _ m u l t i s e t ( c o n s t   u n o r d e r e d _ m u l t i s e t & a m p ; ) ; 
 
 u n o r d e r e d _ m u l t i s e t ( u n o r d e r e d _ m u l t i s e t & a m p ; & a m p ; ) ; 
 
 < i n s > u n o r d e r e d _ m u l t i s e t ( p i l f e r e d & l t ; u n o r d e r e d _ m u l t i s e t & g t ;   x )   n o e x c e p t ; < / i n s > 
 
 < / p r e > 
 
         < / b l o c k q u o t e > 
 
 
 
         < p > 
 
                 & m d a s h ;   A d d   t o   [ u n o r d . m u l t i s e t . c n s t r ]   t h e   f o l l o w i n g   s e c t i o n : < / p > 
 
         < b l o c k q u o t e > 
 
 < p r e > < i n s > u n o r d e r e d _ m u l t i s e t ( p i l f e r e d & l t ; u n o r d e r e d _ m u l t i s e t & g t ;   x )   n o e x c e p t ; < / i n s > < / p r e > 
 
         < p > < i n s > < e m > E f f e c t s : < / e m >   C o n s t r u c t s   < c o d e > * t h i s < / c o d e >   f r o m   t h e   c o n t e n t s   o f   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e > . < / i n s > < / p > 
 
         < p > < i n s > < e m > P o s t c o n d i t i o n s : < / e m >   < c o d e > * t h i s < / c o d e >   h a s   t h e   v a l u e   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   h a d   b e f o r e   t h e   c a l l . < / i n s > < / p > 
 
         < p > < i n s > < e m > R e m a r k s : < / e m >   A f t e r   t h i s   c o n s t r u c t o r ,   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   c a n   s a f e l y   b e   d e s t r o y e d .   T h e   b e h a v i o r   o f   a n y   o t h e r   a c c e s s   t o   t h e   o b j e c t   r e f e r e n c e d   b y   < c o d e > x . g e t ( ) < / c o d e >   i s   u n d e f i n e d . < / i n s > < / p > 
 
         < / b l o c k q u o t e > 
 
         
 
         < p > 
 
                 G i v e n   t h e s e   c h a n g e s ,   t h e   < c o d e > v a r i a n t < / c o d e >   s p e c i f i c a t i o n   n e e d s   t o   b e   u p d a t e d   t o   u s e   p i l f e r   c o n s t r u c t o r s ,   a s   f o l l o w s .   T h e   d i f f e r e n c e s   a r e   r e l a t i v e   t o   t h e 
 
                 w o r d i n g   i n   t h e   p r e c e d i n g   s e c t i o n . < / p > 
 
 
 
         < h 3 > < c o d e > v a r i a n t & a m p ;   o p e r a t o r = ( c o n s t   v a r i a n t & a m p ;   r h s ) ; < / c o d e > < / h 3 > 
 
         < b l o c k q u o t e > 
 
                 < p > < e m > E f f e c t s : < / e m >   L e t   < c o d e > j < / c o d e >   b e   < c o d e > r h s . i n d e x ( ) < / c o d e > . < / p > 
 
                         < u l > 
 
                                 < l i > I f   n e i t h e r   < c o d e > * t h i s < / c o d e >   n o r   < c o d e > r h s < / c o d e >   h o l d s   a   v a l u e ,   t h e r e   i s   n o   e f f e c t .   O t h e r w i s e < / l i > 
 
                                 < l i > i f   < c o d e > * t h i s < / c o d e >   h o l d s   a   v a l u e   b u t   < c o d e > r h s < / c o d e >   d o e s   n o t ,   d e s t r o y s   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e >   a n d   s e t s   < c o d e > * t h i s < / c o d e >   t o   n o t   h o l d   a   v a l u e .   O t h e r w i s e , < / l i > 
 
                                 < l i > i f   < c o d e > i n d e x ( )   = =   j   & a m p ; & a m p ;   i s _ n o t h r o w _ c o p y _ a s s i g n a b l e _ v & l t ; T _ j & g t ; < / c o d e > ,   a s s i g n s   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > r h s < / c o d e >   t o   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e > .   O t h e r w i s e , < / l i > 
 
                                 < l i > i f   < c o d e > i n d e x ( )   = =   j   & a m p ; & a m p ;   i s _ n o t h r o w _ m o v e _ a s s i g n a b l e _ v & l t ; T _ j & g t ; < / c o d e > ,   c o p i e s   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > r h s < / c o d e >   t o   a   t e m p o r a r y   < c o d e > T M P < / c o d e > ,   t h e n   a s s i g n s   < c o d e > s t d : : f o r w a r d & l t ; T _ j & g t ; ( T M P ) < / c o d e >   t o   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e > .   O t h e r w i s e , < / l i > 
 
                                 < l i > i f   < c o d e > i n d e x ( )   = =   j   & a m p ; & a m p ; < d e l >   ! i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e _ v & l t ; T _ j & g t ; < / d e l > < i n s >   ! i s _ p i l f e r _ c o n s t r u c t i b l e _ v & l t ; T _ j & g t ; < / i n s > < / c o d e > ,   a s s i g n s   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > r h s < / c o d e >   t o   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e > .   O t h e r w i s e , < / l i > 
 
                                 < l i > c o p i e s   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > r h s < / c o d e >   t o   a   t e m p o r a r y   < c o d e > T M P < / c o d e > ,   t h e n   d e s t r o y s   a n y   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e > .   S e t s   < c o d e > * t h i s < / c o d e >   t o   h o l d   t h e   s a m e   a l t e r n a t i v e   i n d e x   a s 
 
                                         < c o d e > r h s < / c o d e >   a n d   i n i t i a l i z e s   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e >   a s   i f   d i r e c t - n o n - l i s t - i n i t i a l i z i n g   a n   o b j e c t   o f   t y p e   < c o d e > T _ j < / c o d e >   w i t h < d e l >   < c o d e > s t d : : f o r w a r d & l t ; T _ j & g t ; ( T M P ) < / c o d e > < / d e l > 
 
                                         < i n s >   < c o d e > s t d : : p i l f e r ( T M P ) < / c o d e > < / i n s > . < / l i > 
 
                         < / u l > 
 
                 < p > < e m > R e t u r n s : < / e m >   < c o d e > * t h i s < / c o d e > . < / p > 
 
                 < p > < e m > P o s t c o n d i t i o n s : < / e m >   < c o d e > i n d e x ( )   = =   r h s . i n d e x ( ) < / c o d e > < / p > 
 
                 < p > < e m > R e m a r k s : < / e m > 
 
                         T h i s   f u n c t i o n   s h a l l   n o t   p a r t i c i p a t e   i n   o v e r l o a d   r e s o l u t i o n   u n l e s s   < c o d e > i s _ c o p y _ c o n s t r u c t i b l e _ v & l t ; T _ i & g t ;   & a m p ; & a m p ;   i s _ m o v e _ c o n s t r u c t i b l e _ v & l t ; T _ i & g t ;   & a m p ; & a m p ;   i s _ c o p y _ a s s i g n a b l e _ v & l t ; T _ i & g t ; < / c o d e >   i s   < c o d e > t r u e < / c o d e >   f o r   a l l   < c o d e > i < / c o d e > . < / p > 
 
                         < u l > 
 
                         < l i > I f   a n   e x c e p t i o n   i s   t h r o w n   d u r i n g   t h e   c a l l   t o   < c o d e > T _ j < / c o d e > ' s   c o p y   a s s i g n m e n t ,   t h e   s t a t e   o f   t h e   c o n t a i n e d   v a l u e   i s   a s   d e f i n e d   b y   t h e   e x c e p t i o n   s a f e t y   g u a r a n t e e   o f   < c o d e > T _ j < / c o d e > ' s   c o p y   a s s i g n m e n t ;   < c o d e > i n d e x ( ) < / c o d e >   w i l l   b e   < c o d e > j < / c o d e > . < / l i > 
 
                         < l i > I f   a n   e x c e p t i o n   i s   t h r o w n   d u r i n g   t h e   c a l l   t o   < c o d e > T _ j < / c o d e > ' s   c o p y   c o n s t r u c t o r   ( w i t h   < c o d e > j < / c o d e >   b e i n g   < c o d e > r h s . i n d e x ( ) < / c o d e > ) ,   < c o d e > * t h i s < / c o d e >   w i l l   r e m a i n   u n c h a n g e d . < / l i > 
 
                         < l i > I f   a n   e x c e p t i o n   i s   t h r o w n   d u r i n g   t h e   c a l l   t o   < c o d e > T _ j < / c o d e > ' s   m o v e   c o n s t r u c t o r ,   t h e   < c o d e > v a r i a n t < / c o d e >   w i l l   h o l d   n o   v a l u e . < / l i > 
 
                         < / u l > 
 
         < / b l o c k q u o t e > 
 
 
 
         < h 3 > < c o d e > v a r i a n t & a m p ;   o p e r a t o r = ( v a r i a n t & a m p ; & a m p ;   r h s )   n o e x c e p t ( < e m > s e e   b e l o w < / e m > ) ; < / c o d e > < / h 3 > 
 
         < b l o c k q u o t e > 
 
                 < p > < e m > E f f e c t s : < / e m >   L e t   < c o d e > j < / c o d e >   b e   < c o d e > r h s . i n d e x ( ) < / c o d e > . < / p > 
 
                         < u l > 
 
                         < l i > I f   n e i t h e r   < c o d e > * t h i s < / c o d e >   n o r   < c o d e > r h s < / c o d e >   h o l d s   a   v a l u e ,   t h e r e   i s   n o   e f f e c t .   O t h e r w i s e < / l i > 
 
                         < l i > i f   < c o d e > * t h i s < / c o d e >   h o l d s   a   v a l u e   b u t   < c o d e > r h s < / c o d e >   d o e s   n o t ,   d e s t r o y s   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e >   a n d   s e t s   < c o d e > * t h i s < / c o d e >   t o   n o t   h o l d   a   v a l u e .   O t h e r w i s e , < / l i > 
 
                         < l i > i f   < c o d e > i n d e x ( )   = =   j   & a m p ; & a m p ;   ( i s _ n o t h r o w _ m o v e _ a s s i g n a b l e _ v & l t ; T _ j & g t ;   | | < d e l >   ! i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e _ v & l t ; T _ j & g t ; < / d e l > < i n s >   ! i s _ p i l f e r _ c o n s t r u c t i b l e _ v & l t ; T _ j & g t ; < / i n s > ) < / c o d e > , 
 
                                 a s s i g n s   < c o d e > s t d : : f o r w a r d & l t ; T _ j & g t ; ( g e t & l t ; j & g t ; ( r h s ) ) < / c o d e >   t o   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e > .   O t h e r w i s e , < / l i > 
 
                         < l i > < i n s > I f   < c o d e > ! i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e _ v & l t ; T _ j & g t ;   & a m p ; & a m p ;   i s _ p i l f e r _ c o n s t r u c t i b l e _ v & l t ; T _ j & g t ; < / c o d e > ,   i n i t i a l i z e s   a   t e m p o r a r y   < c o d e > T M P < / c o d e >   o f   t y p e   < c o d e > T _ j < / c o d e >   f r o m 
 
                                 < c o d e > s t d : : f o r w a r d & l t ; T _ j & g t ; ( g e t & l t ; j & g t ; ( r h s ) ) < / c o d e > . 
 
                                 D e s t r o y s   a n y   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e > .   S e t s   < c o d e > * t h i s < / c o d e >   t o   h o l d   t h e   s a m e   a l t e r n a t i v e   i n d e x   a s   < c o d e > r h s < / c o d e >   a n d   i n i t i a l i z e s   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e > 
 
                                 a s   i f   d i r e c t - n o n - l i s t - i n i t i a l i z i n g   a n   o b j e c t   o f   t y p e   < c o d e > T _ j < / c o d e >   w i t h   < c o d e > s t d : : p i l f e r ( T M P ) < / c o d e > .   O t h e r w i s e , < / i n s > < / l i > 
 
                         < l i > d e s t r o y s   a n y   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e > .   S e t s   < c o d e > * t h i s < / c o d e >   t o   h o l d   t h e   s a m e   a l t e r n a t i v e   i n d e x   a s   < c o d e > r h s < / c o d e >   a n d   i n i t i a l i z e s   t h e   v a l u e   c o n t a i n e d   i n   < c o d e > * t h i s < / c o d e > 
 
                                 a s   i f   d i r e c t - n o n - l i s t - i n i t i a l i z i n g   a n   o b j e c t   o f   t y p e   < c o d e > T _ j < / c o d e >   w i t h   < c o d e > s t d : : f o r w a r d & l t ; T _ j & g t ; ( g e t & l t ; j & g t ; ( r h s ) ) < / c o d e > . < / l i > 
 
                         < / u l > 
 
                 < p > < e m > R e t u r n s : < / e m >   < c o d e > * t h i s < / c o d e > . < / p > 
 
                 < p > < e m > R e m a r k s : < / e m > 
 
                         T h i s   f u n c t i o n   s h a l l   n o t   p a r t i c i p a t e   i n   o v e r l o a d   r e s o l u t i o n   u n l e s s   < c o d e > i s _ m o v e _ c o n s t r u c t i b l e _ v & l t ; T _ i & g t ;   & a m p ; & a m p ;   i s _ m o v e _ a s s i g n a b l e _ v & l t ; T _ i & g t ; < / c o d e >   i s   < c o d e > t r u e < / c o d e >   f o r   a l l   < c o d e > i < / c o d e > . 
 
                         T h e   e x p r e s s i o n   i n s i d e   < c o d e > n o e x c e p t < / c o d e >   i s   e q u i v a l e n t   t o :   < c o d e > i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e _ v & l t ; T _ i & g t ; < / c o d e >   f o r   a l l   < c o d e > i < / c o d e > . < / p > 
 
                         < u l > 
 
                         < l i > I f   a n   e x c e p t i o n   i s   t h r o w n   d u r i n g   t h e   c a l l   t o   < c o d e > T _ j < / c o d e > ' s   m o v e   c o n s t r u c t o r < i n s >   i n   t h e   l a s t   b u l l e t < / i n s > ,   t h e   < c o d e > v a r i a n t < / c o d e >   w i l l   h o l d   n o   v a l u e . < / l i > 
 
                         < l i > I f   a n   e x c e p t i o n   i s   t h r o w n   d u r i n g   t h e   c a l l   t o   < c o d e > T _ j < / c o d e > ' s   m o v e   a s s i g n m e n t ,   t h e   s t a t e   o f   t h e   c o n t a i n e d   v a l u e   i s   a s   d e f i n e d   b y   t h e   e x c e p t i o n   s a f e t y   g u a r a n t e e   o f   < c o d e > T _ j < / c o d e > ' s   m o v e   a s s i g n m e n t ;   < c o d e > i n d e x ( ) < / c o d e >   w i l l   b e   < c o d e > j < / c o d e > . < / l i > 
 
                         < / u l > 
 
         < / b l o c k q u o t e > 
 
         < p > 
 
                 T h e   r e a s o n   o f   u s i n g   < c o d e > p i l f e r < / c o d e >   o n l y   w h e n   t h e   t y p e   c a n   b e   p i l f e r e d   b u t   n o t   < c o d e > n o e x c e p t < / c o d e >   m o v e d   i s   b e c a u s e   w e   a r e   n o t   a l l o w e d   t o   p i l f e r   d i r e c t l y   f r o m   < c o d e > r h s < / c o d e > , 
 
                 a s   t h e r e   i s   n o   g u a r a n t e e   t h a t   o u t s i d e   c o d e   w i l l   n o t   a c c e s s   t h e   v a l u e   a f t e r w a r d s .   S o   w e   n e e d   t o   f i r s t   m o v e   i n t o   a   t e m p o r a r y ,   a n d   t h e n   p i l f e r   t h a t   t e m p o r a r y   i n s t e a d .   W e   c o u l d   d o   t h a t 
 
                 i n   e i t h e r   c a s e ,   b u t   t h i s   w o u l d   r e s u l t   i n   t w o   m o v e s   i n s t e a d   o f   o n e   w h e n   t h e   t y p e   h a s   a   < c o d e > n o e x c e p t < / c o d e >   m o v e   c o n s t r u c t o r . < / p > 
 
 
 
         < h 3 > < c o d e > t e m p l a t e   & l t ; s i z e _ t   I ,   c l a s s . . .   A r g s & g t ;   v o i d   e m p l a c e ( A r g s & a m p ; & a m p ; . . .   a r g s ) ; < / c o d e > < / h 3 > 
 
         < b l o c k q u o t e > 
 
                 < p > < e m > R e q u i r e s : < / e m >   < c o d e > I   & l t ;   s i z e o f . . . ( T y p e s ) < / c o d e > < / p > 
 
                 < p > < e m > E f f e c t s : < / e m > < / p > 
 
                         < u l > 
 
                         < l i > I f   < c o d e > i s _ n o t h r o w _ c o n s t r u c t i b l e _ v & l t ; T _ I ,   A r g s & a m p ; & a m p ; . . . & g t ;   | | < d e l >   ! i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e _ v & l t ; T _ I & g t ; < / d e l > < i n s >   ! i s _ p i l f e r _ c o n s t r u c t i b l e _ v & l t ; T _ j & g t ; < / i n s > < / c o d e > , 
 
                                 d e s t r o y s   t h e   c u r r e n t l y   c o n t a i n e d   v a l u e   i f   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n ( ) < / c o d e > 
 
                                 i s   < c o d e > f a l s e < / c o d e >   a n d   d i r e c t - i n i t i a l i z e s   t h e   c o n t a i n e d   v a l u e   a s   i f   c o n s t r u c t i n g   a   v a l u e   o f   t y p e   < c o d e > T _ I < / c o d e >   w i t h   t h e   a r g u m e n t s   < c o d e > s t d : : f o r w a r d & l t ; A r g s & g t ; ( a r g s ) . . . < / c o d e > .   O t h e r w i s e , < / l i > 
 
                         < l i > d i r e c t - i n i t i a l i z e s   a   t e m p o r a r y   < c o d e > T M P < / c o d e >   o f   t y p e   < c o d e > T _ I < / c o d e >   w i t h   t h e   a r g u m e n t s   < c o d e > s t d : : f o r w a r d & l t ; A r g s & g t ; ( a r g s ) . . . < / c o d e > , 
 
                                 d e s t r o y s   t h e   c u r r e n t l y   c o n t a i n e d   v a l u e   i f   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n ( ) < / c o d e >   i s   < c o d e > f a l s e < / c o d e > 
 
                                 a n d   d i r e c t - i n i t i a l i z e s   t h e   c o n t a i n e d   v a l u e   a s   i f   c o n s t r u c t i n g   a   v a l u e   o f   t y p e   < c o d e > T _ I < / c o d e >   w i t h 
 
                                 t h e   a r g u m e n t < d e l >   < c o d e > s t d : : f o r w a r d & l t ; T _ I & g t ; ( T M P ) < / c o d e > < / d e l > < i n s >   < c o d e > s t d : : p i l f e r ( T M P ) < / c o d e > < / i n s > . < / l i > 
 
                         < / u l > 
 
                 < p > < e m > P o s t c o n d i t i o n : < / e m >   < c o d e > i n d e x ( ) < / c o d e >   i s   < c o d e > I < / c o d e > . < / p > 
 
                 < p > < e m > T h r o w s : < / e m >   A n y   e x c e p t i o n   t h r o w n   d u r i n g   t h e   i n i t i a l i z a t i o n   o f   t h e   c o n t a i n e d   v a l u e . < / p > 
 
                 < p > < e m > R e m a r k s : < / e m >   T h i s   f u n c t i o n   s h a l l   n o t   p a r t i c i p a t e   i n   o v e r l o a d   r e s o l u t i o n   u n l e s s   < c o d e > i s _ c o n s t r u c t i b l e _ v & l t ; T _ I ,   A r g s & a m p ; & a m p ; . . . & g t ; < / c o d e >   i s   < c o d e > t r u e < / c o d e > . 
 
                         I f   a n   e x c e p t i o n   i s   t h r o w n   d u r i n g   t h e   i n i t i a l i z a t i o n   o f   t h e   c o n t a i n e d   v a l u e ,   t h e   < c o d e > v a r i a n t < / c o d e >   w i l l   n o t   h o l d   a   v a l u e . < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < h 3 > < c o d e > t e m p l a t e   & l t ; s i z e _ t   I ,   c l a s s   U ,   c l a s s . . .   A r g s & g t ;   v o i d   e m p l a c e ( i n i t i a l i z e r _ l i s t & l t U & g t ;   i l ,   A r g s & a m p ; & a m p ; . . .   a r g s ) ; < / c o d e > < / h 3 > 
 
         < b l o c k q u o t e > 
 
                 < p > < e m > R e q u i r e s : < / e m >   < c o d e > I   & l t ;   s i z e o f . . . ( T y p e s ) < / c o d e > < / p > 
 
                 < p > < e m > E f f e c t s : < / e m > < / p > 
 
                         < u l > 
 
                         < l i > I f   < c o d e > i s _ n o t h r o w _ c o n s t r u c t i b l e _ v & l t ; T _ I ,   i n i t i a l i z e r _ l i s t & l t ; U & g t ; & a m p ; ,   A r g s & a m p ; & a m p ; . . . & g t ;   | | < d e l >   ! i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e _ v & l t ; T _ I & g t ; < / d e l > < i n s >   ! i s _ p i l f e r _ c o n s t r u c t i b l e _ v & l t ; T _ j & g t ; < / i n s > < / c o d e > , 
 
                                 d e s t r o y s   t h e   c u r r e n t l y   c o n t a i n e d   v a l u e   i f   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n ( ) < / c o d e > 
 
                                 i s   < c o d e > f a l s e < / c o d e >   a n d   d i r e c t - i n i t i a l i z e s   t h e   c o n t a i n e d   v a l u e   a s   i f   c o n s t r u c t i n g   a   v a l u e   o f   t y p e   < c o d e > T _ I < / c o d e >   w i t h   t h e   a r g u m e n t s   < c o d e > i l ,   s t d : : f o r w a r d & l t ; A r g s & g t ; ( a r g s ) . . . < / c o d e > .   O t h e r w i s e , < / l i > 
 
                         < l i > d i r e c t - i n i t i a l i z e s   a   t e m p o r a r y   < c o d e > T M P < / c o d e >   o f   t y p e   < c o d e > T _ I < / c o d e >   w i t h   t h e   a r g u m e n t s   < c o d e > i l ,   s t d : : f o r w a r d & l t ; A r g s & g t ; ( a r g s ) . . . < / c o d e > , 
 
                                 d e s t r o y s   t h e   c u r r e n t l y   c o n t a i n e d   v a l u e   i f   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n ( ) < / c o d e >   i s   < c o d e > f a l s e < / c o d e > 
 
                                 a n d   d i r e c t - i n i t i a l i z e s   t h e   c o n t a i n e d   v a l u e   a s   i f   c o n s t r u c t i n g   a   v a l u e   o f   t y p e   < c o d e > T _ I < / c o d e >   w i t h 
 
                                 t h e   a r g u m e n t < d e l >   < c o d e > s t d : : f o r w a r d & l t ; T _ I & g t ; ( T M P ) < / c o d e > < / d e l > < i n s >   < c o d e > s t d : : p i l f e r ( T M P ) < / c o d e > < / i n s > . < / l i > 
 
                         < / u l > 
 
                 < p > < e m > P o s t c o n d i t i o n : < / e m >   < c o d e > i n d e x ( ) < / c o d e >   i s   < c o d e > I < / c o d e > . < / p > 
 
                 < p > < e m > T h r o w s : < / e m >   A n y   e x c e p t i o n   t h r o w n   d u r i n g   t h e   i n i t i a l i z a t i o n   o f   t h e   c o n t a i n e d   v a l u e . < / p > 
 
                 < p > < e m > R e m a r k s : < / e m >   T h i s   f u n c t i o n   s h a l l   n o t   p a r t i c i p a t e   i n   o v e r l o a d   r e s o l u t i o n   u n l e s s   < c o d e > i s _ c o n s t r u c t i b l e _ v & l t ; T _ I ,   i n i t i a l i z e r _ l i s t & l t ; U & g t ; & a m p ; ,   A r g s & a m p ; & a m p ; . . . & g t ; < / c o d e >   i s   < c o d e > t r u e < / c o d e > . 
 
                         I f   a n   e x c e p t i o n   i s   t h r o w n   d u r i n g   t h e   i n i t i a l i z a t i o n   o f   t h e   c o n t a i n e d   v a l u e ,   t h e   < c o d e > v a r i a n t < / c o d e >   w i l l   n o t   h o l d   a   v a l u e . < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < h 3 > < c o d e > c o n s t e x p r   b o o l   v a l u e l e s s _ b y _ e x c e p t i o n ( )   c o n s t   n o e x c e p t ; < / c o d e > < / h 3 > 
 
         < b l o c k q u o t e > 
 
                 < p > < e m > E f f e c t s : < / e m >   R e t u r n s   < c o d e > f a l s e < / c o d e >   i f   a n d   o n l y   i f   t h e   v a r i a n t   h o l d s   a   v a l u e . 
 
                         [ N o t e :   A   v a r i a n t   w i l l   n o t   h o l d   a   v a l u e   i f   a n   e x c e p t i o n   i s   t h r o w n   f r o m   t h e   m o v e   c o n s t r u c t o r   o f   t h e   c o n t a i n e d   t y p e   d u r i n g   a   t y p e - c h a n g i n g   a s s i g n m e n t   o r   e m p l a c e m e n t .   & m d a s h ;   < e m > e n d   n o t e < / e m > ] < / p > 
 
                 < p > < e m > R e m a r k s : < / e m >   T h i s   f u n c t i o n   s h a l l   b e   < c o d e > s t a t i c < / c o d e >   a n d   a l w a y s   r e t u r n   < c o d e > f a l s e < / c o d e >   w h e n   < c o d e > < d e l > i s _ n o t h r o w _ m o v e _ c o n s t r u c t i b l e _ v & l t ; T _ i & g t ; < / d e l > < i n s > i s _ p i l f e r _ c o n s t r u c t i b l e _ v & l t ; T _ i & g t ; < / i n s > < / c o d e >   i s   < c o d e > t r u e < / c o d e >   f o r   a l l   < c o d e > i < / c o d e > . 
 
                         [ N o t e :   < c o d e > s t a t i c _ a s s e r t ( v a r i a n t & l t ; T y p e s . . . & g t ; : : v a l u e l e s s _ b y _ e x c e p t i o n ( )   = =   f a l s e ) ; < / c o d e >   m a y   b e   u s e d   t o   v e r i f y   t h a t   a   < c o d e > v a r i a n t & l t ; T y p e s . . . & g t ; < / c o d e >   m a y   n e v e r   b e c o m e   v a l u e l e s s .   & m d a s h ;   < e m > e n d   n o t e < / e m > ] < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < h 3 > < c o d e > v o i d   s w a p ( v a r i a n t & a m p ;   r h s )   n o e x c e p t ( < e m > s e e   b e l o w < / e m > ) ; < / c o d e > < / h 3 > 
 
         < b l o c k q u o t e > 
 
                 < p > < e m > E f f e c t s : < / e m > < i n s >   L e t   < c o d e > i < / c o d e >   b e   < c o d e > i n d e x ( ) < / c o d e > .   L e t   < c o d e > j < / c o d e >   b e   < c o d e > r h s . i n d e x ( ) < / c o d e > . < / i n s > < / p > 
 
                         < u l > 
 
                                 < l i > i f   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n ( )   & a m p ; & a m p ;   r h s . v a l u e l e s s _ b y _ e x c e p t i o n ( ) < / c o d e >   n o   e f f e c t .   O t h e r w i s e , < / l i > 
 
                                 < l i > i f   < c o d e > i n d e x ( )   = =   r h s . i n d e x ( ) < / c o d e > ,   c a l l s   < c o d e > s w a p ( g e t & l t ; i & g t ; ( * t h i s ) ,   g e t & l t ; i & g t ; ( r h s ) ) < / c o d e > < d e l >   w i t h   < c o d e > i < / c o d e >   b e i n g   < c o d e > i n d e x ( ) < / c o d e > < / d e l > .   O t h e r w i s e , < / l i > 
 
                                 < l i > < i n s > i f   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n ( ) < / c o d e > ,   c o n s t r u c t s   a   v a l u e   o f   t y p e   < c o d e > T _ j < / c o d e >   i n t o   < c o d e > * t h i s < / c o d e >   f r o m   < c o d e > s t d : : p i l f e r ( g e t & l t ; j & g t ; ( r h s ) ) < / c o d e > , 
 
                                         s e t s   < c o d e > i n d e x ( ) < / c o d e >   t o   < c o d e > j < / c o d e >   a n d   d e s t r o y s   t h e   c o n t a i n e d   v a l u e   o f   < c o d e > r h s < / c o d e > ,   m a k i n g   i t   h o l d   n o   v a l u e .   O t h e r w i s e , < / i n s > < / l i > 
 
                                 < l i > < i n s > i f   < c o d e > r h s . v a l u e l e s s _ b y _ e x c e p t i o n ( ) < / c o d e > ,   c o n s t r u c t s   a   v a l u e   o f   t y p e   < c o d e > T _ i < / c o d e >   i n t o   < c o d e > r h s < / c o d e >   f r o m   < c o d e > s t d : : p i l f e r ( g e t & l t ; i & g t ; ( * t h i s ) ) < / c o d e > , 
 
                                         s e t s   < c o d e > r h s . i n d e x ( ) < / c o d e >   t o   < c o d e > i < / c o d e >   a n d   d e s t r o y s   t h e   c o n t a i n e d   v a l u e   o f   < c o d e > * t h i s < / c o d e > ,   m a k i n g   i t   h o l d   n o   v a l u e .   O t h e r w i s e , < / i n s > < / l i > 
 
                                 < l i > < i n s > i f   < c o d e > i s _ p i l f e r _ c o n s t r u c t i b l e _ v & l t ; T _ i & g t ;   & a m p ; & a m p ;   i s _ p i l f e r _ c o n s t r u c t i b l e _ v & l t ; T _ j & g t ; < / c o d e > , 
 
                                         c o n s t r u c t s   a   t e m p o r a r y   < c o d e > T M P < / c o d e >   o f   t y p e   < c o d e > T _ i < / c o d e >   f r o m   < c o d e > s t d : : p i l f e r ( g e t & l t ; i & g t ; ( * t h i s ) ) < / c o d e > ,   d e s t r o y s   t h e   c o n t a i n e d   v a l u e   o f   < c o d e > * t h i s < / c o d e > ,   c o n s t r u c t s 
 
                                         a   v a l u e   o f   t y p e   < c o d e > T _ j < / c o d e >   i n t o   < c o d e > * t h i s < / c o d e >   f r o m   < c o d e > s t d : : p i l f e r ( g e t & l t ; j & g t ; ( r h s ) ) < / c o d e > ,   s e t s   < c o d e > i n d e x ( ) < / c o d e >   t o   < c o d e > j < / c o d e > ,   d e s t r o y s   t h e   c o n t a i n e d   v a l u e   o f   < c o d e > r h s < / c o d e > , 
 
                                         c o n s t r u c t s   a   v a l u e   o f   t y p e   < c o d e > T _ i < / c o d e >   i n t o   < c o d e > r h s < / c o d e >   f r o m   < c o d e > s t d : : p i l f e r ( T M P ) < / c o d e > ,   a n d   s e t s   < c o d e > r h s . i n d e x ( ) < / c o d e >   t o   < c o d e > i < / c o d e > .   O t h e r w i s e , < / i n s > < / l i > 
 
                                 < l i > e x c h a n g e s   v a l u e s   o f   < c o d e > r h s < / c o d e >   a n d   < c o d e > * t h i s < / c o d e > . < / l i > 
 
                         < / u l > 
 
                 < p > < e m > T h r o w s : < / e m >   A n y   e x c e p t i o n   t h r o w n   b y   < c o d e > s w a p ( g e t & l t ; i & g t ; ( * t h i s ) ,   g e t & l t ; i & g t ; ( r h s ) ) < / c o d e >   w i t h   < c o d e > i < / c o d e >   b e i n g   < c o d e > i n d e x ( ) < / c o d e >   o r   < c o d e > v a r i a n t < / c o d e > ' s   m o v e   c o n s t r u c t o r   a n d   m o v e   a s s i g n m e n t   o p e r a t o r . < / p > 
 
                 < p > < e m > R e m a r k s : < / e m >   T h i s   f u n c t i o n   s h a l l   n o t   p a r t i c i p a t e   i n   o v e r l o a d   r e s o l u t i o n   u n l e s s   a l l   a l t e r n a t i v e   t y p e s   s a t i s f y   t h e   < c o d e > S w a p p a b l e < / c o d e >   r e q u i r e m e n t s   ( 1 7 . 6 . 3 . 2 ) . 
 
                         I f   a n   e x c e p t i o n   i s   t h r o w n   d u r i n g   t h e   c a l l   t o   f u n c t i o n   < c o d e > s w a p ( g e t & l t ; i & g t ; ( * t h i s ) ,   g e t & l t ; i & g t ; ( r h s ) ) < / c o d e > ,   t h e   s t a t e s   o f   t h e   c o n t a i n e d   v a l u e s   o f   < c o d e > * t h i s < / c o d e >   a n d   o f   < c o d e > r h s < / c o d e > 
 
                                 a r e   d e t e r m i n e d   b y   t h e   e x c e p t i o n   s a f e t y   g u a r a n t e e   o f   < c o d e > s w a p < / c o d e >   f o r   l v a l u e s   o f   < c o d e > T _ i < / c o d e >   w i t h   < c o d e > i < / c o d e >   b e i n g   < c o d e > i n d e x ( ) < / c o d e > . 
 
                         I f   a n   e x c e p t i o n   i s   t h r o w n   d u r i n g   t h e   e x c h a n g e   o f   t h e   v a l u e s   o f   < c o d e > * t h i s < / c o d e >   a n d   < c o d e > r h s < / c o d e > ,   t h e   s t a t e s   o f   t h e   v a l u e s   o f   < c o d e > * t h i s < / c o d e > 
 
                                 a n d   o f   < c o d e > r h s < / c o d e >   a r e   d e t e r m i n e d   b y   t h e   e x c e p t i o n   s a f e t y   g u a r a n t e e   o f   < c o d e > v a r i a n t < / c o d e > ' s   m o v e   c o n s t r u c t o r   a n d   m o v e   a s s i g n m e n t   o p e r a t o r . 
 
                         < i n s > T h e   e x p r e s s i o n   i n s i d e   < c o d e > n o e x c e p t < / c o d e >   i s   < c o d e > t r u e < / c o d e >   w h e n 
 
                                 < c o d e > n o e x c e p t ( s w a p ( d e c l v a l & l t ; T _ k & g t ; ( ) ,   d e c l v a l & l t ; T _ k & g t ; ( ) ) )   & a m p ; & a m p ;   i s _ p i l f e r _ c o n s t r u c t i b l e _ v & l t ; T _ k & g t ; < / c o d e >   i s   < c o d e > t r u e < / c o d e >   f o r   a l l   < c o d e > k < / c o d e > , 
 
                                 < c o d e > f a l s e < / c o d e >   o t h e r w i s e . < / i n s > < / p > 
 
         < / b l o c k q u o t e > 
 
 
 
         < h 2 > V .   N e v e r   V a l u e l e s s ,   R e a l l y < / h 2 > 
 
         < p > 
 
                 A t   t h i s   p o i n t ,   w e   h a v e   a   < c o d e > v a r i a n t < / c o d e >   t h a t   i s   n e v e r   v a l u e l e s s   f o r   t y p e s   t h a t   a r e   e i t h e r   < c o d e > n o e x c e p t < / c o d e >   m o v e   c o n s t r u c t i b l e   o r   p i l f e r   c o n s t r u c t i b l e ,   w h i c h   c o v e r s   a   l a r g e   m a j o r i t y   o f   t h e   u s e   c a s e s . 
 
                 T h e   n a t u r a l   n e x t   s t e p   i s   t o   d i s p e n s e   w i t h   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n < / c o d e >   a l t o g e t h e r   b y   r e q u i r i n g   t h e   c o n t a i n e d   t y p e s   t o   b e   s u c h .   C a n   w e   a f f o r d   t o   d o   s o ? < / p > 
 
         < p > 
 
                 W h a t   u s e   c a s e s   d e m a n d   t y p e s   t h a t   a r e   n e i t h e r   < c o d e > n o e x c e p t < / c o d e >   m o v e -   n o r   p i l f e r - c o n s t r u c t i b l e ? < / p > 
 
         < p > 
 
                 F i r s t ,   t h e r e   a r e   t h e   l e g a c y   C + + 0 3   t y p e s   t h a t   h a v e   a   c o p y   c o n s t r u c t o r   b u t   d o   n o t   h a v e   a   m o v e   c o n s t r u c t o r ,   a n d   f o r   s o m e   r e a s o n ,   c a n ' t   b e   c h a n g e d .   T h e y   c a n   b e   m o v e d ,   b u t   t h i s   i n v o l v e s   a   c o p y ,   a n d   i s   n o t   < c o d e > n o e x c e p t < / c o d e > . < / p > 
 
         < p > 
 
                 S e c o n d ,   t h e r e   a r e   t h e   t y p e s   t h a t   a r e   n e i t h e r   c o p y a b l e   n o r   m o v a b l e ,   s u c h   a s   < c o d e > s t d : : m u t e x < / c o d e > .   A n   e x a m p l e   o f   a   < c o d e > v a r i a n t < / c o d e >   i n s t a n t i a t e d   o n   s u c h   t y p e s   w o u l d   b e   < c o d e > v a r i a n t & l t ; s t d : : m u t e x ,   s t d : : r e c u r s i v e _ m u t e x & g t ; < / c o d e > . < / p > 
 
         < p > 
 
                 T h e r e   i s   a n   e a s y   w o r k a r o u n d   i n   b o t h   c a s e s :   i n s t e a d   o f   p u t t i n g   a   p r o h i b i t e d   t y p e   < c o d e > T < / c o d e >   i n t o   t h e   < c o d e > v a r i a n t < / c o d e > ,   u s e   < c o d e > u n i q u e _ p t r & l t ; T & g t ; < / c o d e >   i n s t e a d . 
 
                 < c o d e > u n i q u e _ p t r < / c o d e >   i s   < c o d e > n o e x c e p t < / c o d e >   m o v e a b l e ,   a n d   t h e   c o s t   i n   o u r   c a s e   o f   s w i t c h i n g   t o   i t   i s   a   h e a p   a l l o c a t i o n   a n d   t h e   n e e d   t o   c h e c k   f o r   < c o d e > n u l l p t r < / c o d e > . < / p > 
 
         < p > 
 
                 T h e   b e n e f i t   o f   r e l e g a t i n g   t h e s e   t w o   u n c o m m o n   u s e   c a s e s   t o   t h e   d u s t y   " u s e   < c o d e > u n i q u e _ p t r < / c o d e > "   f o l d e r   i s   t h a t   w e ' l l   f i n a l l y   b e   a b l e   t o   g e t   r i d   o f   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n < / c o d e > 
 
                 a l t o g e t h e r ,   t h e r e b y   s i m p l i f y i n g   t h e   s p e c i f i c a t i o n   a   b i t   a n d   e l i m i n a t i n g   t h e   n e e d   f o r   t h e   p r o g r a m m e r s   t o   < c o d e > s t a t i c _ a s s e r t < / c o d e >   t h a t   t h e i r   < c o d e > v a r i a n t < / c o d e > s   c a n ' t   b e   v a l u e l e s s . < / p > 
 
         < p > 
 
                 F o r   a   C + + 1 7   c o m p o n e n t ,   t h i s   i s   a l s o   t h e   c o n s e r v a t i v e   a p p r o a c h .   I f   t h e s e   t w o   u s e   c a s e s   t u r n   o u t   t o   b e   i m p o r t a n t   i n   p r a c t i c e ,   w e   c a n   l a t e r   e i t h e r   b r i n g   b a c k   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n < / c o d e > 
 
                 o r   p r o v i d e   s o m e   o t h e r   w a y   t o   a d d r e s s   t h e m ,   w i t h o u t   b r e a k i n g   a n y   c o d e .   I f   w e   i n s t e a d   p r o v i d e   t h e   c u r r e n t ,   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n < / c o d e > - p o s s e s s i n g   < c o d e > v a r i a n t < / c o d e > ,   w e   c a n n o t 
 
                 a t   a   l a t e r   d a t e   t a k e   t h a t   a w a y . < / p > 
 
         < p > 
 
                 M o r e   s p e c i f i c a l l y ,   i f   w e   f o c u s   o n   < c o d e > v a r i a n t & l t ; s t d : : m u t e x ,   s t d : : r e c u r s i v e _ m u t e x & g t ; < / c o d e > ,   w e   s e e   a   u s e   c a s e   t h a t   i s   i n d e e d   l e g i t i m a t e   i n   t h a t   i t ' s   u s i n g   < c o d e > v a r i a n t < / c o d e >   a s   i f   i t 
 
                 w e r e   a   s l i g h t l y   m o r e   c o n v e n i e n t   < c o d e > u n i o n   {   s t d : : m u t e x   m ;   s t d : : r e c u r s i v e _ m u t e x   r m ;   } < / c o d e > .   H o w e v e r ,   t h i s   < c o d e > v a r i a n t < / c o d e >   d o e s   n o t   h a v e   m u c h   i n   c o m m o n   w i t h   < c o d e > v a r i a n t & l t ; i n t ,   f l o a t ,   s t d : : s t r i n g & g t ; < / c o d e > ,   i n   t h a t   t h e 
 
                 l a t t e r   i s   R e g u l a r   a n d   t h e   f o r m e r   d e c i d e d l y   i s n ' t .   S o   i f   w e   w e r e   i n   a   s i t u a t i o n   w h e r e   w e   a l r e a d y   h a d   a   s t a n d a r d   R e g u l a r ,   n e v e r   v a l u e l e s s ,   < c o d e > v a r i a n t < / c o d e >   a n d   w e r e   f a c e d   w i t h   t h e   n e e d 
 
                 t o   s u p p o r t   t h i s   " c o n v e n i e n t   < c o d e > u n i o n < / c o d e > "   u s e   c a s e ,   w e   w o u l d   p r o b a b l y   t a k e   a   s e r i o u s   l o o k   a t   t h e   p o s s i b i l i t y   o f   p r o v i d i n g   a   s e p a r a t e   c o m p o n e n t   t h a t   a d d r e s s e s   t h i s   n e e d ,   i n s t e a d   o f   m a k i n g 
 
                 < c o d e > v a r i a n t < / c o d e >   p o t e n t i a l l y   v a l u e l e s s . < / p > 
 
         < p > 
 
                 T h e   c a s e   f o r   t h i s   c h a n g e   i s   l e s s   s t r o n g .   I   c o n s i d e r   t h e   p r e v i o u s   t w o   s e c t i o n s   a   s t r i c t   a n d   n e c e s s a r y   i m p r o v e m e n t   t o   t h e   e x i s t i n g   p r o p o s a l   ( i n   s p i r i t   a n d   i n t e n t ,   n o t   s p e c i f i c   w o r d i n g ,   w h i c h   m a y   w e l l 
 
                 h a v e   d e f e c t s . )   O n   t h e   " s t r o n g l y   i n   f a v o r "   a s   + 2   . .   " s t r o n g l y   a g a i n s t "   a s   - 2   s p e c t r u m ,   m y   c u r r e n t   p o s i t i o n   o n   s e c t i o n   I I I   w o u l d   b e   + 3 ,   a n d   s e c t i o n   I V   w o u l d   b e   + 2 . 5   < e m > u n l e s s   t h e   s t a n d a r d   l i b r a r y 
 
                 i s   i n s t e a d   c h a n g e d   t o   r e q u i r e   < c o d e > n o e x c e p t < / c o d e >   m o v e   c o n s t r u c t o r s   o n   a l l   o f   i t s   t y p e s < / e m > .   T h i s   s e c t i o n   w o u l d   o n l y   s c o r e   a b o u t   + 1 . 7 . < / p > 
 
         < p > 
 
                 T h e r e f o r e ,   I   w i l l   n o t   p r o v i d e   s u g g e s t e d   w o r d i n g   f o r   t h e   e l i m i n a t i o n   o f   < c o d e > v a l u e l e s s _ b y _ e x c e p t i o n < / c o d e >   i n   t h i s   r e v i s i o n ,   a l t h o u g h   I   w i l l   i n   a   s u b s e q u e n t   r e v i s i o n   i f   d i s c u s s i o n   a n d   s t r a w   p o l l s   p r o v i d e 
 
                 a n   i n d i c a t i o n   t h a t   t h e   w o r k i n g   g r o u p s   a r e   w i l l i n g   t o   c o n s i d e r   s u c h   a   c h a n g e . < / p > 
 
 
 
         < h r   / > 
 
         < p > 
 
                 < e m > & m d a s h ;   e n d < / e m > < / p > 
 
 < / b o d y > 
 
 < / h t m l > 
 
 