Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for a snapshot of the develop branch, built from commit d7c8a7cf0d.
PrevUpHomeNext

Class template flat_map

boost::compute::flat_map

Synopsis

// In header: <boost/compute/container/flat_map.hpp>

template<typename Key, typename T> 
class flat_map {
public:
  // types
  typedef Key                                             key_type;              
  typedef T                                               mapped_type;           
  typedef ::boost::compute::vector< std::pair< Key, T > > vector_type;           
  typedef vector_type::value_type                         value_type;            
  typedef vector_type::size_type                          size_type;             
  typedef vector_type::difference_type                    difference_type;       
  typedef vector_type::reference                          reference;             
  typedef vector_type::const_reference                    const_reference;       
  typedef vector_type::pointer                            pointer;               
  typedef vector_type::const_pointer                      const_pointer;         
  typedef vector_type::iterator                           iterator;              
  typedef vector_type::const_iterator                     const_iterator;        
  typedef vector_type::reverse_iterator                   reverse_iterator;      
  typedef vector_type::const_reverse_iterator             const_reverse_iterator;

  // construct/copy/destruct
  explicit flat_map(const context & = system::default_context());
  flat_map(const flat_map< Key, T > &);
  flat_map< Key, T > & operator=(const flat_map< Key, T > &);
  ~flat_map();

  // public member functions
  iterator begin();
  const_iterator begin() const;
  const_iterator cbegin() const;
  iterator end();
  const_iterator end() const;
  const_iterator cend() const;
  reverse_iterator rbegin();
  const_reverse_iterator rbegin() const;
  const_reverse_iterator crbegin() const;
  reverse_iterator rend();
  const_reverse_iterator rend() const;
  const_reverse_iterator crend() const;
  size_type size() const;
  size_type max_size() const;
  bool empty() const;
  size_type capacity() const;
  void reserve(size_type, command_queue &);
  void reserve(size_type);
  void shrink_to_fit();
  void clear();
  std::pair< iterator, bool > insert(const value_type &, command_queue &);
  std::pair< iterator, bool > insert(const value_type &);
  iterator erase(const const_iterator &, command_queue &);
  iterator erase(const const_iterator &);
  iterator erase(const const_iterator &, const const_iterator &, 
                 command_queue &);
  iterator erase(const const_iterator &, const const_iterator &);
  size_type erase(const key_type &, command_queue &);
  iterator find(const key_type &, command_queue &);
  iterator find(const key_type &);
  const_iterator find(const key_type &, command_queue &) const;
  const_iterator find(const key_type &) const;
  size_type count(const key_type &, command_queue &) const;
  size_type count(const key_type &) const;
  iterator lower_bound(const key_type &, command_queue &);
  iterator lower_bound(const key_type &);
  const_iterator lower_bound(const key_type &, command_queue &) const;
  const_iterator lower_bound(const key_type &) const;
  iterator upper_bound(const key_type &, command_queue &);
  iterator upper_bound(const key_type &);
  const_iterator upper_bound(const key_type &, command_queue &) const;
  const_iterator upper_bound(const key_type &) const;
  const mapped_type at(const key_type &) const;
  unspecified operator[](const key_type &);
};

Description

flat_map public construct/copy/destruct

  1. explicit flat_map(const context & context = system::default_context());
  2. flat_map(const flat_map< Key, T > & other);
  3. flat_map< Key, T > & operator=(const flat_map< Key, T > & other);
  4. ~flat_map();

flat_map public member functions

  1. iterator begin();
  2. const_iterator begin() const;
  3. const_iterator cbegin() const;
  4. iterator end();
  5. const_iterator end() const;
  6. const_iterator cend() const;
  7. reverse_iterator rbegin();
  8. const_reverse_iterator rbegin() const;
  9. const_reverse_iterator crbegin() const;
  10. reverse_iterator rend();
  11. const_reverse_iterator rend() const;
  12. const_reverse_iterator crend() const;
  13. size_type size() const;
  14. size_type max_size() const;
  15. bool empty() const;
  16. size_type capacity() const;
  17. void reserve(size_type size, command_queue & queue);
  18. void reserve(size_type size);
  19. void shrink_to_fit();
  20. void clear();
  21. std::pair< iterator, bool > 
    insert(const value_type & value, command_queue & queue);
  22. std::pair< iterator, bool > insert(const value_type & value);
  23. iterator erase(const const_iterator & position, command_queue & queue);
  24. iterator erase(const const_iterator & position);
  25. iterator erase(const const_iterator & first, const const_iterator & last, 
                   command_queue & queue);
  26. iterator erase(const const_iterator & first, const const_iterator & last);
  27. size_type erase(const key_type & value, command_queue & queue);
  28. iterator find(const key_type & value, command_queue & queue);
  29. iterator find(const key_type & value);
  30. const_iterator find(const key_type & value, command_queue & queue) const;
  31. const_iterator find(const key_type & value) const;
  32. size_type count(const key_type & value, command_queue & queue) const;
  33. size_type count(const key_type & value) const;
  34. iterator lower_bound(const key_type & value, command_queue & queue);
  35. iterator lower_bound(const key_type & value);
  36. const_iterator 
    lower_bound(const key_type & value, command_queue & queue) const;
  37. const_iterator lower_bound(const key_type & value) const;
  38. iterator upper_bound(const key_type & value, command_queue & queue);
  39. iterator upper_bound(const key_type & value);
  40. const_iterator 
    upper_bound(const key_type & value, command_queue & queue) const;
  41. const_iterator upper_bound(const key_type & value) const;
  42. const mapped_type at(const key_type & key) const;
  43. unspecified operator[](const key_type & key);

PrevUpHomeNext