Fix Oracle C++ concept failures

This commit is contained in:
John Maddock
2016-08-01 12:24:00 +00:00
parent ddd808f761
commit cc21bf9283

View File

@ -99,27 +99,27 @@ public:
typedef allocator_architype<U> other; typedef allocator_architype<U> other;
}; };
pointer address(reference r); pointer address(reference r){ return &r; }
const_pointer address(const_reference r); const_pointer address(const_reference r) { return &r; }
pointer allocate(size_type); pointer allocate(size_type n) { return static_cast<pointer>(std::malloc(n)); }
pointer allocate(size_type, pointer); pointer allocate(size_type, pointer) { return static_cast<pointer>(std::malloc(n)); }
void deallocate(pointer, size_type); void deallocate(pointer p, size_type) { std::free(p); }
size_type max_size()const; size_type max_size()const { return UINT_MAX; }
allocator_architype(); allocator_architype(){}
allocator_architype(const allocator_architype&); allocator_architype(const allocator_architype&){}
template <class Other> template <class Other>
allocator_architype(const allocator_architype<Other>&); allocator_architype(const allocator_architype<Other>&){}
void construct(pointer, const_reference); void construct(pointer p, const_reference r) { new (p)T(r); }
void destroy(pointer); void destroy(pointer p) { p->~T(); }
}; };
template <class T> template <class T>
bool operator == (const allocator_architype<T>&, const allocator_architype<T>&); bool operator == (const allocator_architype<T>&, const allocator_architype<T>&) {return true; }
template <class T> template <class T>
bool operator != (const allocator_architype<T>&, const allocator_architype<T>&); bool operator != (const allocator_architype<T>&, const allocator_architype<T>&) { return false; }
namespace boost{ namespace boost{
// //
@ -130,7 +130,7 @@ template <class charT>
struct regex_traits_architype struct regex_traits_architype
{ {
public: public:
regex_traits_architype(); regex_traits_architype(){}
typedef charT char_type; typedef charT char_type;
// typedef std::size_t size_type; // typedef std::size_t size_type;
typedef std::vector<char_type> string_type; typedef std::vector<char_type> string_type;
@ -168,8 +168,8 @@ public:
private: private:
// this type is not copyable: // this type is not copyable:
regex_traits_architype(const regex_traits_architype&); regex_traits_architype(const regex_traits_architype&){}
regex_traits_architype& operator=(const regex_traits_architype&); regex_traits_architype& operator=(const regex_traits_architype&){ return *this; }
}; };
// //