⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boost_concept_check.h

📁 openRisc2000编译链接器等,用于i386 cygwin
💻 H
📖 第 1 页 / 共 3 页
字号:
    void __constraints() {      __function_requires< _ForwardContainerConcept<_ForwardContainer> >();      __function_requires< _Mutable_ContainerConcept<_ForwardContainer> >();      typedef typename _ForwardContainer::iterator _Iterator;      __function_requires< _Mutable_ForwardIteratorConcept<_Iterator> >();    }  };  template <class _ReversibleContainer>  struct _ReversibleContainerConcept  {    typedef typename _ReversibleContainer::const_iterator _Const_iterator;    typedef typename _ReversibleContainer::const_reverse_iterator      _Const_reverse_iterator;    void __constraints() {      __function_requires< _ForwardContainerConcept<_ReversibleContainer> >();      __function_requires< _BidirectionalIteratorConcept<_Const_iterator> >();      __function_requires<        _BidirectionalIteratorConcept<_Const_reverse_iterator> >();      const _ReversibleContainer __c;      _Const_reverse_iterator __i = __c.rbegin();      __i = __c.rend();    }  };  template <class _ReversibleContainer>  struct _Mutable_ReversibleContainerConcept  {    typedef typename _ReversibleContainer::iterator _Iterator;    typedef typename _ReversibleContainer::reverse_iterator _Reverse_iterator;    void __constraints() {      __function_requires<_ReversibleContainerConcept<_ReversibleContainer> >();      __function_requires<        _Mutable_ForwardContainerConcept<_ReversibleContainer> >();      __function_requires<_Mutable_BidirectionalIteratorConcept<_Iterator> >();      __function_requires<        _Mutable_BidirectionalIteratorConcept<_Reverse_iterator> >();      _Reverse_iterator __i = __c.rbegin();      __i = __c.rend();    }    _ReversibleContainer __c;  };  template <class _RandomAccessContainer>  struct _RandomAccessContainerConcept  {    typedef typename _RandomAccessContainer::size_type _Size_type;    typedef typename _RandomAccessContainer::const_reference _Const_reference;    typedef typename _RandomAccessContainer::const_iterator _Const_iterator;    typedef typename _RandomAccessContainer::const_reverse_iterator      _Const_reverse_iterator;    void __constraints() {      __function_requires<        _ReversibleContainerConcept<_RandomAccessContainer> >();      __function_requires< _RandomAccessIteratorConcept<_Const_iterator> >();      __function_requires<        _RandomAccessIteratorConcept<_Const_reverse_iterator> >();      const _RandomAccessContainer __c;      _Const_reference __r _IsUnused = __c[__n];    }    _Size_type __n;  };  template <class _RandomAccessContainer>  struct _Mutable_RandomAccessContainerConcept  {    typedef typename _RandomAccessContainer::size_type _Size_type;    typedef typename _RandomAccessContainer::reference _Reference;    typedef typename _RandomAccessContainer::iterator _Iterator;    typedef typename _RandomAccessContainer::reverse_iterator _Reverse_iterator;    void __constraints() {      __function_requires<        _RandomAccessContainerConcept<_RandomAccessContainer> >();      __function_requires<        _Mutable_ReversibleContainerConcept<_RandomAccessContainer> >();      __function_requires< _Mutable_RandomAccessIteratorConcept<_Iterator> >();      __function_requires<        _Mutable_RandomAccessIteratorConcept<_Reverse_iterator> >();      _Reference __r _IsUnused = __c[__i];    }    _Size_type __i;    _RandomAccessContainer __c;  };  // A Sequence is inherently mutable  template <class _Sequence>  struct _SequenceConcept  {    typedef typename _Sequence::reference _Reference;    typedef typename _Sequence::const_reference _Const_reference;    void __constraints() {      // Matt Austern's book puts DefaultConstructible here, the C++      // standard places it in Container      //    function_requires< DefaultConstructible<Sequence> >();      __function_requires< _Mutable_ForwardContainerConcept<_Sequence> >();      __function_requires< _DefaultConstructibleConcept<_Sequence> >();      _Sequence	__c _IsUnused(__n, __t),        __c2 _IsUnused(__first, __last);      __c.insert(__p, __t);      __c.insert(__p, __n, __t);      __c.insert(__p, __first, __last);      __c.erase(__p);      __c.erase(__p, __q);      _Reference __r _IsUnused = __c.front();      __const_constraints(__c);    }    void __const_constraints(const _Sequence& __c) {      _Const_reference __r _IsUnused = __c.front();    }    typename _Sequence::value_type __t;    typename _Sequence::size_type __n;    typename _Sequence::value_type *__first, *__last;    typename _Sequence::iterator __p, __q;  };  template <class _FrontInsertionSequence>  struct _FrontInsertionSequenceConcept  {    void __constraints() {      __function_requires< _SequenceConcept<_FrontInsertionSequence> >();      __c.push_front(__t);      __c.pop_front();    }    _FrontInsertionSequence __c;    typename _FrontInsertionSequence::value_type __t;  };  template <class _BackInsertionSequence>  struct _BackInsertionSequenceConcept  {    typedef typename _BackInsertionSequence::reference _Reference;    typedef typename _BackInsertionSequence::const_reference _Const_reference;    void __constraints() {      __function_requires< _SequenceConcept<_BackInsertionSequence> >();      __c.push_back(__t);      __c.pop_back();      _Reference __r _IsUnused = __c.back();    }    void __const_constraints(const _BackInsertionSequence& __c) {      _Const_reference __r _IsUnused = __c.back();    };    _BackInsertionSequence __c;    typename _BackInsertionSequence::value_type __t;  };  template <class _AssociativeContainer>  struct _AssociativeContainerConcept  {    void __constraints() {      __function_requires< _ForwardContainerConcept<_AssociativeContainer> >();      __function_requires<        _DefaultConstructibleConcept<_AssociativeContainer> >();      __i = __c.find(__k);      __r = __c.equal_range(__k);      __c.erase(__k);      __c.erase(__i);      __c.erase(__r.first, __r.second);      __const_constraints(__c);    }    void __const_constraints(const _AssociativeContainer& __c) {      __ci = __c.find(__k);      __n = __c.count(__k);      __cr = __c.equal_range(__k);    }    typedef typename _AssociativeContainer::iterator _Iterator;    typedef typename _AssociativeContainer::const_iterator _Const_iterator;    _AssociativeContainer __c;    _Iterator __i;    std::pair<_Iterator,_Iterator> __r;    _Const_iterator __ci;    std::pair<_Const_iterator,_Const_iterator> __cr;    typename _AssociativeContainer::key_type __k;    typename _AssociativeContainer::size_type __n;  };  template <class _UniqueAssociativeContainer>  struct _UniqueAssociativeContainerConcept  {    void __constraints() {      __function_requires<        _AssociativeContainerConcept<_UniqueAssociativeContainer> >();      _UniqueAssociativeContainer __c(__first, __last);      __pos_flag = __c.insert(__t);      __c.insert(__first, __last);    }    std::pair<typename _UniqueAssociativeContainer::iterator, bool> __pos_flag;    typename _UniqueAssociativeContainer::value_type __t;    typename _UniqueAssociativeContainer::value_type *__first, *__last;  };  template <class _MultipleAssociativeContainer>  struct _MultipleAssociativeContainerConcept  {    void __constraints() {      __function_requires<        _AssociativeContainerConcept<_MultipleAssociativeContainer> >();      _MultipleAssociativeContainer __c(__first, __last);      __pos = __c.insert(__t);      __c.insert(__first, __last);    }    typename _MultipleAssociativeContainer::iterator __pos;    typename _MultipleAssociativeContainer::value_type __t;    typename _MultipleAssociativeContainer::value_type *__first, *__last;  };  template <class _SimpleAssociativeContainer>  struct _SimpleAssociativeContainerConcept  {    void __constraints() {      __function_requires<        _AssociativeContainerConcept<_SimpleAssociativeContainer> >();      typedef typename _SimpleAssociativeContainer::key_type _Key_type;      typedef typename _SimpleAssociativeContainer::value_type _Value_type;      typedef typename _Aux_require_same<_Key_type, _Value_type>::_Type        _Required;    }  };  template <class _SimpleAssociativeContainer>  struct _PairAssociativeContainerConcept  {    void __constraints() {      __function_requires<        _AssociativeContainerConcept<_SimpleAssociativeContainer> >();      typedef typename _SimpleAssociativeContainer::key_type _Key_type;      typedef typename _SimpleAssociativeContainer::value_type _Value_type;      typedef typename _SimpleAssociativeContainer::mapped_type _Mapped_type;      typedef std::pair<const _Key_type, _Mapped_type> _Required_value_type;      typedef typename _Aux_require_same<_Value_type,        _Required_value_type>::_Type _Required;    }  };  template <class _SortedAssociativeContainer>  struct _SortedAssociativeContainerConcept  {    void __constraints() {      __function_requires<        _AssociativeContainerConcept<_SortedAssociativeContainer> >();      __function_requires<        _ReversibleContainerConcept<_SortedAssociativeContainer> >();      _SortedAssociativeContainer        __c _IsUnused(__kc),        __c2 _IsUnused(__first, __last),        __c3 _IsUnused(__first, __last, __kc);      __p = __c.upper_bound(__k);      __p = __c.lower_bound(__k);      __r = __c.equal_range(__k);      __c.insert(__p, __t);    }    void __const_constraints(const _SortedAssociativeContainer& __c) {      __kc = __c.key_comp();      __vc = __c.value_comp();      __cp = __c.upper_bound(__k);      __cp = __c.lower_bound(__k);      __cr = __c.equal_range(__k);    }    typename _SortedAssociativeContainer::key_compare __kc;    typename _SortedAssociativeContainer::value_compare __vc;    typename _SortedAssociativeContainer::value_type __t;    typename _SortedAssociativeContainer::key_type __k;    typedef typename _SortedAssociativeContainer::iterator _Iterator;    typedef typename _SortedAssociativeContainer::const_iterator      _Const_iterator;    _Iterator __p;    _Const_iterator __cp;    std::pair<_Iterator,_Iterator> __r;    std::pair<_Const_iterator,_Const_iterator> __cr;    typename _SortedAssociativeContainer::value_type *__first, *__last;  };  // HashedAssociativeContainer} // namespace __gnu_cxx#undef _IsUnused#endif // _GLIBCXX_BOOST_CONCEPT_CHECK

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -