id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 1737,Add AllocatorConcept to BCCL,mfawcett,acharles,"It would be convenient to have an AllocatorConcept in the Boost Concept Check Library. Below is a nearly complete implementation. -- code -- namespace boost { template struct AllocatorConcept { typedef typename T::const_pointer const_pointer; typedef typename T::const_reference const_reference; typedef typename T::difference_type difference_type; typedef typename T::pointer pointer; typedef typename T::reference reference; typedef typename T::size_type size_type; typedef typename T::value_type value_type; // TODO: Do we need to do more here, e.g. char_allocator_type::rebind::other == T? typedef typename T::template rebind::other char_allocator_type; BOOST_CLASS_REQUIRE(T, boost, DefaultConstructibleConcept); BOOST_CLASS_REQUIRE(T, boost, CopyConstructibleConcept); BOOST_CLASS_REQUIRE(T, boost, EqualityComparableConcept); void constraints() { pointer p = 0; reference ref = *p; const_reference cref = *p; p = value.address(ref); const_pointer cp = value.address(cref); p = value.allocate(1); p = value.allocate(1, 0); value.construct(p, *p); value.deallocate(p, 1); value.destroy(p); size_type s = value.max_size(); } private: T value; }; } ",Feature Requests,closed,,concept_check,,Not Applicable,wontfix,"concept_check, concepts, allocator",