[gtkmm] Gtkmm-forge digest, Vol 1 #187 - 15 msgs



Send Gtkmm-forge mailing list submissions to
	gtkmm-forge lists sourceforge net

To subscribe or unsubscribe via the World Wide Web, visit
	https://lists.sourceforge.net/lists/listinfo/gtkmm-forge
or, via email, send a message with subject or body 'help' to
	gtkmm-forge-request lists sourceforge net

You can reach the person managing the list at
	gtkmm-forge-admin lists sourceforge net

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Gtkmm-forge digest..."


gtkmm-forge is the mailing list that receives gtkmm bug reports from bugzilla.  A daily digest is sent to gtkmm-main, to encourage people to help fixing the bugs.


Today's Topics:

   1. [Bug 89951] Changed - gtkmm cvs doesn't compile with gcc 2.95.3 due to internal compiler error (bugzilla-daemon widget gnome org)
   2. [Bug 90126] Changed - Layout disturbances with gtkmm-1.3.19 (bugzilla-daemon widget gnome org)
   3. [Bug 90148] Changed - TextBuffer::delete_text() & Co. have inconvinient, non-const iterator arguments (bugzilla-daemon widget gnome org)
   4. [Bug 90126] Changed - Layout disturbances with gtkmm-1.3.19 (bugzilla-daemon widget gnome org)
   5. [Bug 89951] Changed - gtkmm cvs doesn't compile with gcc 2.95.3 due to internal compiler error (bugzilla-daemon widget gnome org)
   6. [Bug 90266] New - the filled parameter in Gdk::Drawable::draw_rectangle should be a bool not an int (bugzilla-daemon widget gnome org)
   7. [Bug 90266] Changed - the filled parameter in Gdk::Drawable::draw_rectangle should be a bool not an int (bugzilla-daemon widget gnome org)
   8. [Bug 90148] Changed - TextBuffer::delete_text() & Co. have inconvinient, non-const iterator arguments (bugzilla-daemon widget gnome org)
   9. [Bug 90148] Changed - TextBuffer::delete_text() & Co. have inconvinient, non-const iterator arguments (bugzilla-daemon widget gnome org)
  10. [Bug 90148] Changed - TextBuffer::delete_text() & Co. have inconvinient, non-const iterator arguments (bugzilla-daemon widget gnome org)
  11. [Bug 89951] Changed - gtkmm cvs doesn't compile with gcc 2.95.3 due to internal compiler error (bugzilla-daemon widget gnome org)
  12. [Bug 90126] Changed - Layout disturbances with gtkmm-1.3.19 (bugzilla-daemon widget gnome org)
  13. [Bug 90126] Changed - Layout disturbances with gtkmm-1.3.19 (bugzilla-daemon widget gnome org)
  14. [Bug 89951] Changed - gtkmm cvs doesn't compile with gcc 2.95.3 due to internal compiler error (bugzilla-daemon widget gnome org)
  15. [Bug 89951] Changed - gtkmm cvs doesn't compile with gcc 2.95.3 due to internal compiler error (bugzilla-daemon widget gnome org)

--__--__--

Message: 1
From: bugzilla-daemon widget gnome org
To: gtkmm-forge lists sourceforge net
Cc: 
Date: Thu,  8 Aug 2002 15:56:23 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 89951] Changed - gtkmm cvs doesn't compile with gcc 2.95.3 due to internal compiler error

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

http://bugzilla.gnome.org/show_bug.cgi?id=89951

Changed by mhl schulze t-online de 

--- shadow/89951	Thu Aug  8 12:30:15 2002
+++ shadow/89951.tmp.4280	Thu Aug  8 15:56:23 2002
@@ -141,6 +141,15 @@
 
 ------- Additional Comments From murrayc usa net  2002-08-08 12:30 -------
 Have you submitted that as a gcc bug report?
 
 Maybe you, or someone, could write a configure-time test that detects
 this and sets a #define.
+
+------- Additional Comments From MHL Schulze t-online de  2002-08-08 15:56 -------
+No, I haven't submitted a bug report. It's an old compiler version
+after all. The problem is, however, that it is still quite commonly
+used (at least all newer SuSE installations including the latest
+version 8.0 have it installed as default compiler).
+Since I've never written a configure-time check it might take some
+time. If anybody feels that he can do this quick then step forward,
+please.



--__--__--

Message: 2
From: bugzilla-daemon widget gnome org
To: gtkmm-forge lists sourceforge net, szombath bifab de
Cc: 
Date: Thu,  8 Aug 2002 16:00:21 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 90126] Changed - Layout disturbances with gtkmm-1.3.19

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

http://bugzilla.gnome.org/show_bug.cgi?id=90126

Changed by murrayc usa net 

--- shadow/90126	Thu Aug  8 14:31:45 2002
+++ shadow/90126.tmp.4814	Thu Aug  8 16:00:21 2002
@@ -219,6 +219,13 @@
 compatibility reasons, then we could pricipally surround their
 definition by a define which could switch the visibility of all old
 backward compatibility functions to the compiler. By setting this
 define the user would have a chance to let the compiler check the type
 safety of the function call.
 
+
+------- Additional Comments From murrayc usa net  2002-08-08 16:00 -------
+Examples fixed.
+
+Is this correct?:
+People who have never used Gtk::SHRINK, Gtk::FILL, etc, will have no
+problem with the current API?



--__--__--

Message: 3
From: bugzilla-daemon widget gnome org
To: gtkmm-forge lists sourceforge net
Cc: 
Date: Thu,  8 Aug 2002 16:01:40 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 90148] Changed - TextBuffer::delete_text() & Co. have inconvinient, non-const iterator arguments

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

http://bugzilla.gnome.org/show_bug.cgi?id=90148

Changed by mhl schulze t-online de 

--- shadow/90148	Thu Aug  8 05:28:52 2002
+++ shadow/90148.tmp.4929	Thu Aug  8 16:01:40 2002
@@ -61,6 +61,17 @@
 ------- Additional Comments From murrayc usa net  2002-08-08 05:28 -------
 No, I like that it returns an iterator. I think that the other
 overload should do that too.
 
 Yes, we do need to check the sources sometimes. C people don't use
 const  very often unless it's a char*.
+
+------- Additional Comments From MHL Schulze t-online de  2002-08-08 16:01 -------
+Thinking that iterator return thing over: the 'iterator
+delete_text(iterator&,iterator&)' overload seems completely useless,
+stupid and confusing now next to 'iterator delete_text(const
+iterator&, const iterator&)'! Shouldn't we just get rid of it?
+The same goes for delete_interactive_text() but here we have an
+additional problem: shall we really discard the boolean return value
+(which shows whether text was actually deleted)? Is there some kind of
+'invalid' or 'eof' iterator that we could return in the case that no
+text was deleted?



--__--__--

Message: 4
From: bugzilla-daemon widget gnome org
To: gtkmm-forge lists sourceforge net, szombath bifab de
Cc: 
Date: Thu,  8 Aug 2002 17:10:36 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 90126] Changed - Layout disturbances with gtkmm-1.3.19

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

http://bugzilla.gnome.org/show_bug.cgi?id=90126

Changed by mhl schulze t-online de 

--- shadow/90126	Thu Aug  8 16:00:21 2002
+++ shadow/90126.tmp.26178	Thu Aug  8 17:10:36 2002
@@ -226,6 +226,11 @@
 ------- Additional Comments From murrayc usa net  2002-08-08 16:00 -------
 Examples fixed.
 
 Is this correct?:
 People who have never used Gtk::SHRINK, Gtk::FILL, etc, will have no
 problem with the current API?
+
+------- Additional Comments From MHL Schulze t-online de  2002-08-08 17:10 -------
+And if we just rename Gtk::SHRINK & Co into Gtk::ATTACH_SHRINK & Co?
+That would be more consistent anyway considering the naming pattern of
+our enums.



--__--__--

Message: 5
From: bugzilla-daemon widget gnome org
To: gtkmm-forge lists sourceforge net, MHL Schulze t-online de
Cc: 
Date: Thu,  8 Aug 2002 17:34:55 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 89951] Changed - gtkmm cvs doesn't compile with gcc 2.95.3 due to internal compiler error

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

http://bugzilla.gnome.org/show_bug.cgi?id=89951

Changed by jwy divisionbyzero com 

--- shadow/89951	Thu Aug  8 15:56:23 2002
+++ shadow/89951.tmp.28885	Thu Aug  8 17:34:55 2002
@@ -150,6 +150,11 @@
 after all. The problem is, however, that it is still quite commonly
 used (at least all newer SuSE installations including the latest
 version 8.0 have it installed as default compiler).
 Since I've never written a configure-time check it might take some
 time. If anybody feels that he can do this quick then step forward,
 please.
+
+------- Additional Comments From jwy divisionbyzero com  2002-08-08 17:34 -------
+Created an attachment (id=10370)
+adds macro to check for this case and define a symbol
+



--__--__--

Message: 6
From: bugzilla-daemon widget gnome org
To: gtkmm-forge lists sourceforge net
Cc: 
Date: Thu,  8 Aug 2002 19:11:16 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 90266] New - the filled parameter in Gdk::Drawable::draw_rectangle should be a bool not an int

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

http://bugzilla.gnome.org/show_bug.cgi?id=90266

Changed by michael koziarski com 

--- shadow/90266	Thu Aug  8 19:11:16 2002
+++ shadow/90266.tmp.7607	Thu Aug  8 19:11:16 2002
@@ -0,0 +1,25 @@
+Bug#: 90266
+Product: gtkmm
+Version: 2.0
+OS: Linux
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: normal
+Priority: Normal
+Component: general
+AssignedTo: gtkmm-forge lists sourceforge net                            
+ReportedBy: michael koziarski com               
+TargetMilestone: ---
+URL: 
+Summary: the filled parameter in Gdk::Drawable::draw_rectangle should be a bool not an int
+
+The current signature is
+
+void draw_rectangle (const Glib::RefPtr<const GC>& gc, int filled, int x,
+int y, int width, int height)
+
+However int the gtk docs the filled parameter in gdk_draw_rectangle is the
+same as gdk_draw_polygon
+
+filled :TRUE if the rectangle should be filled.



--__--__--

Message: 7
From: bugzilla-daemon widget gnome org
To: gtkmm-forge lists sourceforge net
Cc: 
Date: Thu,  8 Aug 2002 19:17:22 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 90266] Changed - the filled parameter in Gdk::Drawable::draw_rectangle should be a bool not an int

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

http://bugzilla.gnome.org/show_bug.cgi?id=90266

Changed by michael koziarski com 

--- shadow/90266	Thu Aug  8 19:11:16 2002
+++ shadow/90266.tmp.8312	Thu Aug  8 19:17:22 2002
@@ -20,6 +20,9 @@
 int y, int width, int height)
 
 However int the gtk docs the filled parameter in gdk_draw_rectangle is the
 same as gdk_draw_polygon
 
 filled :TRUE if the rectangle should be filled.
+
+------- Additional Comments From michael koziarski com  2002-08-08 19:17 -------
+Also applies to Gdk::Drawable::draw_arc



--__--__--

Message: 8
From: bugzilla-daemon widget gnome org
To: gtkmm-forge lists sourceforge net, MHL Schulze t-online de
Cc: 
Date: Fri,  9 Aug 2002 02:53:54 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 90148] Changed - TextBuffer::delete_text() & Co. have inconvinient, non-const iterator arguments

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

http://bugzilla.gnome.org/show_bug.cgi?id=90148

Changed by murrayc usa net 

--- shadow/90148	Thu Aug  8 16:01:40 2002
+++ shadow/90148.tmp.1203	Fri Aug  9 02:53:54 2002
@@ -72,6 +72,17 @@
 iterator&, const iterator&)'! Shouldn't we just get rid of it?
 The same goes for delete_interactive_text() but here we have an
 additional problem: shall we really discard the boolean return value
 (which shows whether text was actually deleted)? Is there some kind of
 'invalid' or 'eof' iterator that we could return in the case that no
 text was deleted?
+
+------- Additional Comments From murrayc usa net  2002-08-09 02:53 -------
+Yes, if both the start and end would be equal after the method has
+finished then there is no need to return both as well as the return
+iterator.
+
+Maybe you could use end() to show that the deletion has not happened.
+I don't think that end() would ever be the real "location where text
+was deleted." That's what find() would use to show that something was
+not found. Or maybe you could add an overload that takes a bool&
+parameter.



--__--__--

Message: 9
From: bugzilla-daemon widget gnome org
To: gtkmm-forge lists sourceforge net
Cc: 
Date: Fri,  9 Aug 2002 07:09:32 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 90148] Changed - TextBuffer::delete_text() & Co. have inconvinient, non-const iterator arguments

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

http://bugzilla.gnome.org/show_bug.cgi?id=90148

Changed by mhl schulze t-online de 

--- shadow/90148	Fri Aug  9 02:53:54 2002
+++ shadow/90148.tmp.1788	Fri Aug  9 07:09:31 2002
@@ -83,6 +83,27 @@
 
 Maybe you could use end() to show that the deletion has not happened.
 I don't think that end() would ever be the real "location where text
 was deleted." That's what find() would use to show that something was
 not found. Or maybe you could add an overload that takes a bool&
 parameter.
+
+------- Additional Comments From MHL Schulze t-online de  2002-08-09 07:09 -------
+Okay. A revised patch will be attached. The ChangeLog entry follows.
+Note that some API changes are involved now: Gtk::TextMark:get_iter()
+is added as a convinience function to help solving the TODO entry in
+textbuffer.hg and the delete_(interactive_)text() variants with
+non-const iterators in their parameter list are dismissed.
+
+  * gtk/src/textiter.{ccg,hg}, gtk/src/textmark.{ccg,hg}:
+  Avoid unnecessary includes. Add TextMark::get_iter() which
+  works equivalent to mymark->get_buffer()->get_iter_at_mark(mymark).
+  * gtk/src/textbuffer.{ccg,hg}:
+  - Make TextBuffer::insert_(interactive_)at_cursor() return
+  the iterator of the cursor position using get_insert()->get_iter()
+  or end() if the insertion failed.
+  - Make TextBuffer::delete_(interactive_)text() return the iterator
+  of the position where the deletion occured or end() if no deletion
+  occured. Make the iterators in the parameter list const.
+  - Make the iterators in the parameter lists of
+  TextBuffer::paste_clipboard(), TextBuffer::insert_child_anchor()
+  and TextBuffer::create_child_anchor() const.



--__--__--

Message: 10
From: bugzilla-daemon widget gnome org
To: gtkmm-forge lists sourceforge net
Cc: 
Date: Fri,  9 Aug 2002 07:10:36 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 90148] Changed - TextBuffer::delete_text() & Co. have inconvinient, non-const iterator arguments

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

http://bugzilla.gnome.org/show_bug.cgi?id=90148

Changed by mhl schulze t-online de 

--- shadow/90148	Fri Aug  9 07:09:31 2002
+++ shadow/90148.tmp.2050	Fri Aug  9 07:10:36 2002
@@ -104,6 +104,11 @@
   - Make TextBuffer::delete_(interactive_)text() return the iterator
   of the position where the deletion occured or end() if no deletion
   occured. Make the iterators in the parameter list const.
   - Make the iterators in the parameter lists of
   TextBuffer::paste_clipboard(), TextBuffer::insert_child_anchor()
   and TextBuffer::create_child_anchor() const.
+
+------- Additional Comments From MHL Schulze t-online de  2002-08-09 07:10 -------
+Created an attachment (id=10386)
+The proposed API review of Gtk::TextBuffer and Gtk::TextIter.
+



--__--__--

Message: 11
From: bugzilla-daemon widget gnome org
To: gtkmm-forge lists sourceforge net, MHL Schulze t-online de
Cc: 
Date: Fri,  9 Aug 2002 07:57:16 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 89951] Changed - gtkmm cvs doesn't compile with gcc 2.95.3 due to internal compiler error

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

http://bugzilla.gnome.org/show_bug.cgi?id=89951

Changed by murrayc usa net 

--- shadow/89951	Thu Aug  8 17:34:55 2002
+++ shadow/89951.tmp.7671	Fri Aug  9 07:57:16 2002
@@ -155,6 +155,9 @@
 please.
 
 ------- Additional Comments From jwy divisionbyzero com  2002-08-08 17:34 -------
 Created an attachment (id=10370)
 adds macro to check for this case and define a symbol
 
+
+------- Additional Comments From murrayc usa net  2002-08-09 07:57 -------
+Please use gtkmmconfig.h - config.h only seems to be used by the demos.



--__--__--

Message: 12
From: bugzilla-daemon widget gnome org
To: gtkmm-forge lists sourceforge net
Cc: 
Date: Fri,  9 Aug 2002 13:54:44 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 90126] Changed - Layout disturbances with gtkmm-1.3.19

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

http://bugzilla.gnome.org/show_bug.cgi?id=90126

Changed by szombath bifab de 

--- shadow/90126	Thu Aug  8 17:10:36 2002
+++ shadow/90126.tmp.3693	Fri Aug  9 13:54:44 2002
@@ -231,6 +231,40 @@
 problem with the current API?
 
 ------- Additional Comments From MHL Schulze t-online de  2002-08-08 17:10 -------
 And if we just rename Gtk::SHRINK & Co into Gtk::ATTACH_SHRINK & Co?
 That would be more consistent anyway considering the naming pattern of
 our enums.
+
+------- Additional Comments From szombath bifab de  2002-08-09 13:54 -------
+> And if we just rename Gtk::SHRINK & Co into Gtk::ATTACH_SHRINK & Co?
+
+I would also recommend such a naming scheme. It helps to improve the
+readability of the Gtk-- code.
+
+But the basic problem in the case is that some (old) overloaded member
+functions break the type safety of enum parameters. This behavior is
+very dangerous and normally to be avoided for C++ code. A check in
+box.h shows that the same flaw applies to the set_options and pack_end
+member functions of class Box. In this case we could use a define (see
+below) to avoid this situation when backward compatibility is not
+required. TANSTAAFL.
+Of course, the library should always be built with backward
+compatibility set.
+
+First we should find out how often this situation might occur, which
+is not an easy task with 119 different named enums. 
+
+
+class Box { 
+  ... 
+#ifdef GTKMM12_BACKWARD_COMPATIBILITY
+  void pack_start(Widget& child, 
+                  bool expand, 
+                  bool fill = true, 
+                  guint padding = 0);
+#endif
+  void pack_start(Widget& child, 
+                  PackOptions options = PACK_EXPAND_WIDGET,
+                  guint padding = 0);
+  ...
+};



--__--__--

Message: 13
From: bugzilla-daemon widget gnome org
To: gtkmm-forge lists sourceforge net
Cc: 
Date: Fri,  9 Aug 2002 14:23:43 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 90126] Changed - Layout disturbances with gtkmm-1.3.19

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

http://bugzilla.gnome.org/show_bug.cgi?id=90126

Changed by szombath bifab de 

--- shadow/90126	Fri Aug  9 13:54:44 2002
+++ shadow/90126.tmp.7182	Fri Aug  9 14:23:43 2002
@@ -265,6 +265,26 @@
 #endif
   void pack_start(Widget& child, 
                   PackOptions options = PACK_EXPAND_WIDGET,
                   guint padding = 0);
   ...
 };
+
+------- Additional Comments From szombath bifab de  2002-08-09 14:23 -------
+I checked randonly chosen the enums
+
+  AccelFlags 
+  AnchorType
+  ArrowType 
+  AttachOptions
+  CalendarDisplayOptions
+  EventType 
+  Orientation 
+  PackType 
+  PositionType 
+  ResizeMode
+  SelectionMode
+  TextDirection 
+  TextSearchFlags
+  WidgetFlags
+
+and could not find any ambigious situation with enum parameters.



--__--__--

Message: 14
From: bugzilla-daemon widget gnome org
To: gtkmm-forge lists sourceforge net
Cc: 
Date: Fri,  9 Aug 2002 14:42:46 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 89951] Changed - gtkmm cvs doesn't compile with gcc 2.95.3 due to internal compiler error

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

http://bugzilla.gnome.org/show_bug.cgi?id=89951

Changed by mhl schulze t-online de 

--- shadow/89951	Fri Aug  9 07:57:16 2002
+++ shadow/89951.tmp.9491	Fri Aug  9 14:42:45 2002
@@ -158,6 +158,17 @@
 Created an attachment (id=10370)
 adds macro to check for this case and define a symbol
 
 
 ------- Additional Comments From murrayc usa net  2002-08-09 07:57 -------
 Please use gtkmmconfig.h - config.h only seems to be used by the demos.
+
+------- Additional Comments From MHL Schulze t-online de  2002-08-09 14:42 -------
+New patch is underway. Please try with a decent compiler before
+applying! ChangeLog entry:
+
+ * configure.in,scripts/cxx.m4,gtk/gtkmmconfig.h.in: Add configure
+ time check as proposed by Joe Yandle with some modifications. It
+ checks whether the compiler allows member functions to refer to
+ specializations of member function templates.
+ * gtk/src/treeview.hg: Use configure time check from above for
+ conditional compilation of the critical code.



--__--__--

Message: 15
From: bugzilla-daemon widget gnome org
To: gtkmm-forge lists sourceforge net
Cc: 
Date: Fri,  9 Aug 2002 14:43:36 -0400 (EDT)
Subject: [gtkmm bugzilla] [Bug 89951] Changed - gtkmm cvs doesn't compile with gcc 2.95.3 due to internal compiler error

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

http://bugzilla.gnome.org/show_bug.cgi?id=89951

Changed by mhl schulze t-online de 

--- shadow/89951	Fri Aug  9 14:42:45 2002
+++ shadow/89951.tmp.9642	Fri Aug  9 14:43:36 2002
@@ -169,6 +169,11 @@
  * configure.in,scripts/cxx.m4,gtk/gtkmmconfig.h.in: Add configure
  time check as proposed by Joe Yandle with some modifications. It
  checks whether the compiler allows member functions to refer to
  specializations of member function templates.
  * gtk/src/treeview.hg: Use configure time check from above for
  conditional compilation of the critical code.
+
+------- Additional Comments From MHL Schulze t-online de  2002-08-09 14:43 -------
+Created an attachment (id=10390)
+Promised patch...
+




--__--__--

_______________________________________________
Gtkmm-forge mailing list
Gtkmm-forge lists sourceforge net
https://lists.sourceforge.net/lists/listinfo/gtkmm-forge


End of Gtkmm-forge Digest



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]