STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Namespaces | Macros | Functions | Variables
utility File Reference
#include <xstddef>
#include <iosfwd>
#include <type_traits>

Classes

class  tuple< _Types >
 
struct  pair< _Ty1, _Ty2 >
 
struct  tuple_size< _Tuple >
 
struct  tuple_size< pair< _Ty1, _Ty2 > >
 
struct  tuple_size< tuple< _Types...> >
 
struct  tuple_size< const _Tuple >
 
struct  tuple_size< volatile _Tuple >
 
struct  tuple_size< const volatile _Tuple >
 
struct  tuple_element< _Index, _Tuple >
 
struct  _Pair_data< _Idx, _Ty >
 
struct  _Pair_data< 0, pair< _Ty1, _Ty2 > >
 
struct  _Pair_data< 1, pair< _Ty1, _Ty2 > >
 
struct  tuple_element< 0, pair< _Ty1, _Ty2 > >
 
struct  tuple_element< 1, pair< _Ty1, _Ty2 > >
 

Namespaces

 rel_ops
 
 tr1
 

Macros

#define _UTILITY_
 

Functions

template<class _Ty , size_t _Size>
void swap (_Ty(&_Left)[_Size], _Ty(&_Right)[_Size]) _NOEXCEPT_OP(_NOEXCEPT_OP(swap(*_Left
 
template<class _Ty1 , class _Ty2 >
void swap (pair< _Ty1, _Ty2 > &_Left, pair< _Ty1, _Ty2 > &_Right) _NOEXCEPT_OP(_NOEXCEPT_OP(_Left.swap(_Right)))
 
template<class _Ty1 , class _Ty2 >
bool operator== (const pair< _Ty1, _Ty2 > &_Left, const pair< _Ty1, _Ty2 > &_Right)
 
template<class _Ty1 , class _Ty2 >
bool operator!= (const pair< _Ty1, _Ty2 > &_Left, const pair< _Ty1, _Ty2 > &_Right)
 
template<class _Ty1 , class _Ty2 >
bool operator< (const pair< _Ty1, _Ty2 > &_Left, const pair< _Ty1, _Ty2 > &_Right)
 
template<class _Ty1 , class _Ty2 >
bool operator> (const pair< _Ty1, _Ty2 > &_Left, const pair< _Ty1, _Ty2 > &_Right)
 
template<class _Ty1 , class _Ty2 >
bool operator<= (const pair< _Ty1, _Ty2 > &_Left, const pair< _Ty1, _Ty2 > &_Right)
 
template<class _Ty1 , class _Ty2 >
bool operator>= (const pair< _Ty1, _Ty2 > &_Left, const pair< _Ty1, _Ty2 > &_Right)
 
template<class _Ty1 , class _Ty2 >
pair< typename _Unrefwrap< _Ty1 >::type, typename _Unrefwrap< _Ty2 >::type > make_pair (_Ty1 &&_Val1, _Ty2 &&_Val2)
 
template<class _Ty >
bool rel_ops::operator!= (const _Ty &_Left, const _Ty &_Right)
 
template<class _Ty >
bool rel_ops::operator> (const _Ty &_Left, const _Ty &_Right)
 
template<class _Ty >
bool rel_ops::operator<= (const _Ty &_Left, const _Ty &_Right)
 
template<class _Ty >
bool rel_ops::operator>= (const _Ty &_Left, const _Ty &_Right)
 
template<int _Idx, class _Ty1 , class _Ty2 >
_Pair_data< _Idx, pair< _Ty1, _Ty2 > >::_Rtype get (pair< _Ty1, _Ty2 > &_Pr) _NOEXCEPT
 
template<int _Idx, class _Ty1 , class _Ty2 >
_Pair_data< _Idx, pair< _Ty1, _Ty2 > >::_Ctype get (const pair< _Ty1, _Ty2 > &_Pr) _NOEXCEPT
 
template<int _Idx, class _Ty1 , class _Ty2 >
_Pair_data< _Idx, pair< _Ty1, _Ty2 > >::_RRtype get (pair< _Ty1, _Ty2 > &&_Pr) _NOEXCEPT
 

Variables

template<class _FwdIt1 , class _FwdIt2 >
_STD_BEGIN void swap(_Ty &, _Ty &) _NOEXCEPT_OP(is_nothrow_move_constructible< _Ty > void iter_swap (_FwdIt1 _Left, _FwdIt2 _Right)
 
void_Right
 
const piecewise_construct_t piecewise_construct
 

Macro Definition Documentation

#define _UTILITY_

Function Documentation

template<int _Idx, class _Ty1 , class _Ty2 >
_Pair_data<_Idx, pair<_Ty1, _Ty2> >::_Rtype get ( pair< _Ty1, _Ty2 > &  _Pr)
inline
421  { // get reference to element at _Idx in pair _Pr
422  return (_Pair_data<_Idx, pair<_Ty1, _Ty2> >::_Val(_Pr));
423  }
Definition: utility:80
_FwdIt const _Ty _Val
Definition: algorithm:1938
Definition: utility:352
template<int _Idx, class _Ty1 , class _Ty2 >
_Pair_data<_Idx, pair<_Ty1, _Ty2> >::_Ctype get ( const pair< _Ty1, _Ty2 > &  _Pr)
inline
430  { // get const reference to element at _Idx in pair _Pr
431  return (_Pair_data<_Idx, pair<_Ty1, _Ty2> >::_Val(_Pr));
432  }
Definition: utility:80
_FwdIt const _Ty _Val
Definition: algorithm:1938
Definition: utility:352
template<int _Idx, class _Ty1 , class _Ty2 >
_Pair_data<_Idx, pair<_Ty1, _Ty2> >::_RRtype get ( pair< _Ty1, _Ty2 > &&  _Pr)
inline
439  { // get rvalue reference to element at _Idx in pair _Pr
440  typedef typename _Pair_data<_Idx, pair<_Ty1, _Ty2> >::_RRtype
441  _RRtype;
442  return (_STD forward<_RRtype>(
443  _Pair_data<_Idx, pair<_Ty1, _Ty2> >::_Val(_Pr)));
444  }
Definition: utility:80
_FwdIt const _Ty _Val
Definition: algorithm:1938
Definition: utility:352
template<class _Ty1 , class _Ty2 >
pair<typename _Unrefwrap<_Ty1>::type, typename _Unrefwrap<_Ty2>::type> make_pair ( _Ty1 &&  _Val1,
_Ty2 &&  _Val2 
)
inline
268  { // return pair composed from arguments
270  typename _Unrefwrap<_Ty2>::type> _Mypair;
271  return (_Mypair(_STD forward<_Ty1>(_Val1),
272  _STD forward<_Ty2>(_Val2)));
273  }
_Types1 &&::value _Val2
Definition: tuple:759
Definition: utility:80
template<class _Ty1 , class _Ty2 >
bool operator!= ( const pair< _Ty1, _Ty2 > &  _Left,
const pair< _Ty1, _Ty2 > &  _Right 
)
inline
224  { // test for pair inequality
225  return (!(_Left == _Right));
226  }
template<class _Ty1 , class _Ty2 >
bool operator< ( const pair< _Ty1, _Ty2 > &  _Left,
const pair< _Ty1, _Ty2 > &  _Right 
)
inline
232  { // test if _Left < _Right for pairs
233  return (_Left.first < _Right.first ||
234  (!(_Right.first < _Left.first) && _Left.second < _Right.second));
235  }
_Ty1 first
Definition: utility:198
second
Definition: utility:167
template<class _Ty1 , class _Ty2 >
bool operator<= ( const pair< _Ty1, _Ty2 > &  _Left,
const pair< _Ty1, _Ty2 > &  _Right 
)
inline
249  { // test if _Left <= _Right for pairs
250  return (!(_Right < _Left));
251  }
template<class _Ty1 , class _Ty2 >
bool operator== ( const pair< _Ty1, _Ty2 > &  _Left,
const pair< _Ty1, _Ty2 > &  _Right 
)
inline
216  { // test for pair equality
217  return (_Left.first == _Right.first && _Left.second == _Right.second);
218  }
_Ty1 first
Definition: utility:198
second
Definition: utility:167
template<class _Ty1 , class _Ty2 >
bool operator> ( const pair< _Ty1, _Ty2 > &  _Left,
const pair< _Ty1, _Ty2 > &  _Right 
)
inline
241  { // test if _Left > _Right for pairs
242  return (_Right < _Left);
243  }
template<class _Ty1 , class _Ty2 >
bool operator>= ( const pair< _Ty1, _Ty2 > &  _Left,
const pair< _Ty1, _Ty2 > &  _Right 
)
inline
257  { // test if _Left >= _Right for pairs
258  return (!(_Left < _Right));
259  }
template<class _Ty , size_t _Size>
void swap ( _Ty(&)  _Left[_Size],
_Ty(&)  _Right[_Size] 
)
inline
template<class _Ty1 , class _Ty2 >
void swap ( pair< _Ty1, _Ty2 > &  _Left,
pair< _Ty1, _Ty2 > &  _Right 
)
inline
208  { // swap _Left and _Right pairs
209  _Left.swap(_Right);
210  }
void swap(_Myt &_Right)&&_NOEXCEPT_OP(_Swap_adl(this-> second, _Right.second)))
Definition: utility:180

Variable Documentation

void * _Right
template<class _FwdIt1 , class _FwdIt2 >
_STD_BEGIN void swap (_Ty&, _Ty&) _NOEXCEPT_OP(is_nothrow_move_constructible<_Ty> void iter_swap(_FwdIt1 _Left, _FwdIt2 _Right)
inline
27  { // swap *_Left and *_Right
28  swap(*_Left, *_Right);
29  }
void swap(_Ty(&_Left)[_Size], _Ty(&_Right)[_Size]) _NOEXCEPT_OP(_NOEXCEPT_OP(swap(*_Left
void * _Right
Definition: utility:36
const piecewise_construct_t piecewise_construct
Initial value:
=
piecewise_construct_t()