+
    Ni	                     8    ^ RI Ht ^ RIHt R.t ! R R4      tR# )    )List)$advance_past_string_with_gdb_escapesStringStreamc                      a  ] tR t^	t o RtRV 3R lR lltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	Rt
V tR# )r   zA simple class to hold text so that when passed
between functions, the object is passed by reference
and memory does not need to be repeatedly allocated for the string.

This class was written here to avoid adding a dependency
to the project.
c                *   < V ^8  d   QhRS[ RS[RR/# )   raw_textdebugreturnN)strbool)format__classdict__s   ";/tmp/pip-target-e6j6ikcs/lib/python/pygdbmi/StringStream.py__annotate__StringStream.__annotate__   s"     ! ! !T !d !    c                @    Wn         ^ V n        \        V4      V n        R# )r   N)r	   indexlen)selfr	   r
   s   &&&r   __init__StringStream.__init__   s     
x=r   c                &   < V ^8  d   QhRS[ RS[/# )r   countr   )intr   )r   r   s   "r   r   r      s      # # r   c                    V P                   V,           pW P                  8  d   V P                  V P                   R pMV P                  V P                   V pW n         V# )zVRead count characters starting at self.index,
and return those characters as a string
Nr   r   r	   )r   r   	new_indexbufs   &&  r   readStringStream.read   sN     JJ&	xx--

-C--

Y7C

r   c                $   < V ^8  d   QhRS[ RR/# )r   offsetr   N)r   )r   r   s   "r   r   r   $   s     ) )3 )4 )r   c                6    V P                   V,           V n         R# )z;Advance the index of this StringStream by offset charactersN)r   )r   r$   s   &&r   seekStringStream.seek$   s    ZZ&(
r   c                6   < V ^8  d   QhRS[ S[,          RS[/# )r   charsr   )r   r   )r   r   s   "r   r   r   (   s     ; ;S	 ;c ;r   c                   V P                   p V P                  V P                   ,          pV ;P                   ^,          un         W19   d   MV P                   V P                  8X  g   K[   V P                  W P                   ^,
           # )zAdvance the index past specific chars
Args chars (list): list of characters to advance past

Return substring that was advanced past
)r   r	   r   )r   r)   start_indexcurrent_chars   &&  r   advance_past_charsStringStream.advance_past_chars(   sb     jj==4LJJ!OJ$txx'}}[::>::r   c                    < V ^8  d   QhRS[ /# )r   r   )r   )r   r   s   "r   r   r   :   s      c r   c           	     F   V P                   ^ 8  d*   V P                  V P                   ^,
          ,          R8X  g?   Q RV P                    RV P                  : RV P                  V P                   R : R24       h\        V P                  V P                   R7      w  qn         V# )zAdvance the index past a quoted string until the end quote is reached, and
return the string (after unescaping it)

Must be called only after encountering a quote character.
"zSadvance_past_string_with_gdb_escapes called not at the start of a string (at index z	 of text z, remaining string N))start)r   r	   r   )r   unescaped_strs   & r   r   1StringStream.advance_past_string_with_gdb_escapes:   s     zzA~$--

Q"?3"F 	
Idmm-> ?  $djjk :=Q@	
F %IMM%
!z r   r   N)F)__name__
__module____qualname____firstlineno____doc__r   r!   r&   r-   r   __static_attributes____classdictcell__)r   s   @r   r   r   	   s<     ! !
 ) ); ;$ r   N)typingr   pygdbmi.gdbescapesr   __all__r    r   r   <module>rA      s!     C 
@ @r   