title: Getting "Indexable is invalid" while inserting element into boost::geometry::index::rtree
body: <p>I'm initializing my rtree with</p>
  
  <pre><code>namespace boostGEO = boost::geometry;
  typedef boostGEO::model::point&lt;double, 2, boostGEO::cs::cartesian&gt; point;
  typedef boostGEO::model::box&lt;point&gt; box;
  typedef std::pair&lt;box, std::pair&lt;int, int&gt;&gt; edgesValue;
  boostGEO::index::rtree&lt; edgesValue, boostGEO::index::rstar&lt;16&gt; &gt; tree();
  </code></pre>
  
  <p>And then i fill it like this</p>
  
  <pre><code>for( int i = 0; i &lt; items.size(); i++ )
  {
      Item* item = items.at(i);
      std::vector&lt;ItemRelation&gt; relations = item-&gt;getRelations();
  
      point ps1( item-&gt;x, item-&gt;y );
      Item* relatedItem;
      for( int j = 0; j &lt; relations.size(); j++ )
      {
          relatedItem = relations.at(j);
          point ps2( relatedItem-&gt;x, relatedItem-&gt;y );
          box bounds( ps1, ps2 );
          edgesTree.insert( std::make_pair( bounds, std::make_pair(item-&gt;id, relatedItem-&gt;id) ) );
      }
  }
  </code></pre>
  
  <p>Item->x and Item->y are doubles and Item->id is Integer.
  When I run my code I am getting the following error:</p>
  
  <pre><code>/opt/bp/boost_1_58_0/boost/geometry/index/rtree.hpp:1248: void boost::geometry::index::rtree&lt;Value, Options, IndexableGetter, EqualTo, Allocator&gt;::raw_insert(const value_type&amp;) [with Value = std::pair&lt;boost::geometry::model::box&lt;boost::geometry::model::point&lt;double, 2ul, boost::geometry::cs::cartesian&gt; &gt;, std::pair&lt;int, int&gt; &gt;; Parameters = boost::geometry::index::rstar&lt;16ul&gt;; IndexableGetter = boost::geometry::index::indexable&lt;std::pair&lt;boost::geometry::model::box&lt;boost::geometry::model::point&lt;double, 2ul, boost::geometry::cs::cartesian&gt; &gt;, std::pair&lt;int, int&gt; &gt; &gt;; EqualTo = boost::geometry::index::equal_to&lt;std::pair&lt;boost::geometry::model::box&lt;boost::geometry::model::point&lt;double, 2ul, boost::geometry::cs::cartesian&gt; &gt;, std::pair&lt;int, int&gt; &gt; &gt;; Allocator = std::allocator&lt;std::pair&lt;boost::geometry::model::box&lt;boost::geometry::model::point&lt;double, 2ul, boost::geometry::cs::cartesian&gt; &gt;, std::pair&lt;int, int&gt; &gt; &gt;; boost::geometry::index::rtree&lt;Value, Options, IndexableGetter, EqualTo, Allocator&gt;::value_type = std::pair&lt;boost::geometry::model::box&lt;boost::geometry::model::point&lt;double, 2ul, boost::geometry::cs::cartesian&gt; &gt;, std::pair&lt;int, int&gt; &gt;]: Assertion `(detail::is_valid(m_members.translator()(value)))&amp;&amp;("Indexable is invalid")' failed.
  </code></pre>
  
  <p>Could anyone pls give me a hint what went wrong? I have totally no idea.</p>