From dcd4cfa6669ae1a45db17e408a544c1d8fa49cd3 Mon Sep 17 00:00:00 2001 From: cxl Date: Thu, 11 Sep 2008 16:25:37 +0000 Subject: [PATCH] Fixed C++ parser problem that sometimes caused duplication of items git-svn-id: svn://ultimatepp.org/upp/trunk@426 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/$.tpp/test$en-us.tpp | 260 +++++++++++++++++++++++++++++ uppsrc/Core/src.tpp/Size$en-us.tpp | 23 ++- uppsrc/ide/Assist.cpp | 1 - uppsrc/ide/Bottom.cpp | 1 - uppsrc/ide/Browser/Base.cpp | 6 +- uppsrc/ide/Browser/Browser.cpp | 2 - uppsrc/ide/Browser/IdeTopic.cpp | 2 - uppsrc/ide/Browser/Query.cpp | 2 - uppsrc/ide/Browser/Reference.cpp | 1 - uppsrc/ide/Goto.cpp | 1 - uppsrc/ide/Setup.cpp | 2 - uppsrc/ide/ide.cpp | 3 +- 12 files changed, 275 insertions(+), 29 deletions(-) create mode 100644 uppsrc/$.tpp/test$en-us.tpp diff --git a/uppsrc/$.tpp/test$en-us.tpp b/uppsrc/$.tpp/test$en-us.tpp new file mode 100644 index 000000000..aae61d2b9 --- /dev/null +++ b/uppsrc/$.tpp/test$en-us.tpp @@ -0,0 +1,260 @@ +topic "Size";[ $$0,0#00000000000000000000000000000000:Default] +[i448;a25;kKO9;*@(64) $$1,0#37138531426314131252341829483380:class] +[l288;2 $$2,0#27521748481378242620020725143825:desc] +[i448;H4;b50;a25;kKO9;*@(64)2 $$3,0#37138531426314131252341829483370:item] +[~~~=_8333; $$4,4#05600065144404261032431302351956:break] +[l288;a25;kK~~~.1408;@3;2 $$5,0#61217621437177404841962893300719:param] +[i448;a25;kO9;*@(64)2 $$6,6#46142079503553116794228416715415:item`_next] +[{_}%EN-US +[s0; Upp&] +[s0; Size`_&] +[s0;*@(154.0.0)+109 &] +[s1;K:`:`:Size`_`:`:struct: [@(0.0.255) template]_<[@(0.0.255) class]_[@4 T]>&] +[s1;K:`:`:Size`_`:`:struct: [@(0.0.255) struct]_[@0 Size`_]_:_[@(0.0.255) public]_[^topic`:`/`/Core`/srcdoc`/Moveable`$en`-us^ M +oveable]<_[@0 Size`_]<[@4 T]>_>_&] +[s2; &] +[s0; [* Size`_] is a generic structure that describes a two dimensional +size object. The horizontal dimension is represented by [*@(154.0.0) cx][@(154.0.0) +]and the vertical one by [*@(154.0.0) cy]. Both dimension are of +type [*@4 T]. To get a specialized version of [* Size`_], use one +of the following:&] +[s0; &] +[s3; Size&] +[s6; [@(0.0.255) typedef]_[^`:`:Size`_^ Size`_]<[@(0.0.255) int]>_Size&] +[s2; Size`_ with [* int] dimensions.&] +[s0;*@(154.0.0)2 &] +[s3; Size16&] +[s6;:`:`:Size16`:`:typedef: [@(0.0.255) typedef]_[^`:`:Size`_^ Size`_]<[@(0.0.255) int16]>_ +Size16&] +[s2; Size`_ with [* int16][@(0.0.255) ]dimensions.&] +[s0;*@(154.0.0)2 &] +[s3; Size64&] +[s6;:`:`:Size64`:`:typedef: [@(0.0.255) typedef]_[^`:`:Size`_^ Size`_]<[@(0.0.255) int64]>_ +Size64&] +[s2; Size`_ with [* int64][@(0.0.255) ]dimensions.&] +[s0;*@(154.0.0)2 &] +[s3; Sizef&] +[s6;:`:`:Sizef`:`:typedef: [@(0.0.255) typedef]_[^`:`:Size`_^ Size`_]<[@(0.0.255) double]>_ +Sizef&] +[s2; Size`_ with [* double][@(0.0.255) ]dimensions.&] +[s0; &] +[s0; &] +[ {{10000F(128)G(128)@1 [s0; Constructor Detail]}}&] +[s0; &] +[s3;K:`:`:Size`_`:`:`:`:Size`_`(`): [@0 Size`_]()&] +[s2; Creates an uninitialized [* Size`_].&] +[s4; &] +[s3;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Value`&`): [@0 Size`_]([@(0.0.255) const]_[^`:`:Value^ V +alue]`&_[@3 src])&] +[s2; Default copy constructor.&] +[s4; &] +[s3;K:`:`:Size`_`:`:`:`:Size`_`(T`,T`): [@0 Size`_]([@4 T]_[@3 cx], [@4 T]_[@3 cy])&] +[s5; Creates a [* Size`_] object an initializes it`'s horizontal dimension +with [%-3 cx][%- and it`'s vertical dimension with ][* cy].&] +[s4; &] +[s3;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Size`_``&`): [@0 Size`_]([@(0.0.255) const +]_[@0 Size`_]<[@(0.0.255) int]>`&_[@3 sz])&] +[s2; Creates a [* Size`_] object and initializes it with a [* Size] [*@3 sz].&] +[s4; &] +[s3;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Size`_``&`): [@0 Size`_]([@(0.0.255) con +st]_[@0 Size`_]<[@(0.0.255) short]>`&_[@3 sz])&] +[s2; Creates a [* Size`_] object and initializes it with a [* Size16] +[*@3 sz].&] +[s4; &] +[s3;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Size`_``&`): [@0 Size`_]([@(0.0.255) co +nst]_[@0 Size`_]<[@(0.0.255) double]>`&_[@3 sz])&] +[s2; Creates a [* Size`_] object and initializes it with a [* Sizef] +[*@3 sz].&] +[s4; &] +[s3;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Size`_`<`:`:int64`>`&`): [@0 Size`_]([@(0.0.255) c +onst]_[@0 Size`_]<[@(0.0.255) int64]>`&_[@3 sz])&] +[s2; Creates a [* Size`_ ]object and initializes it with a [* Size64] +[%-*@3 sz].&] +[s4; &] +[s3;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Point`_``&`): [@0 Size`_]([@(0.0.255) const]_ +[^`:`:Point`_^ Point`_]<[@4 T]>`&_[@3 pt])&] +[s2; Creates a Size`_ object and initializes it with a [* Point] [%-*@3 sz].&] +[s4; &] +[s3;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Nuller`&`): [@0 Size`_]([@(0.0.255) const]_[^`:`:Nuller^ N +uller]`&)&] +[s2; Creates a [* Size`_ ]object and initializes with [* Null].&] +[s0; &] +[s0; &] +[ {{10000F(128)G(128)@1 [s0; Public Field Detail]}}&] +[s0; &] +[s0; Public Field detail&] +[s3;K:`:`:Size`_`:`:cx:%- [@4 T]_cx&] +[s2; the horizontal dimension&] +[s0; &] +[s3;K:`:`:Size`_`:`:cy:%- [@4 T]_cy&] +[s2; the vertical dimension&] +[s0; &] +[ {{10000F(128)G(128)@1 [s0; Method Detail]}}&] +[s0; &] +[s3;K:`:`:Size`_`:`:Clear`(`): [@(0.0.255) void]_[@0 Clear]()&] +[s2; Sets both dimension to 0.&] +[s4; &] +[s3;K:`:`:Size`_`:`:IsEmpty`(`)const: bool_[@0 IsEmpty]()_const&] +[s2; Returns [* true] if at least one dimension is 0, [* false] otherwise.&] +[s4; &] +[s3;K:`:`:Size`_`:`:SetNull`(`): [@(0.0.255) void]_[@0 SetNull]()&] +[s2; Reinitializes the object to [* Null].&] +[s4; &] +[s3;K:`:`:Size`_`:`:IsNullInstance`(`)const: bool_[@0 IsNullInstance]()_const&] +[s2; Verifies if size is [* Null].&] +[s4; &] +[s3;K:`:`:Size`_`:`:GetHashValue`(`)const: unsigned_[@0 GetHashValue]()_const&] +[s2; Returns the hash value of the size.&] +[s4; &] +[s3;K:`:`:Size`_`:`:ToString`(`)const: [^topic`:`/`/Core`/src`/String`$en`-us^ String]_ +[@0 ToString]()_const&] +[s2; Returns the [* String] representation of the size.&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`+`=`(`:`:Size`_`): [^`:`:Size`_^ Size`_]`&_[@0 operator`+`=]( +[^`:`:Size`_^ Size`_]_[@3 p])&] +[s2; Increases cx with [*@3 p]`'s horizontal dimension and cy with +[*@3 p]`'s vertical dimension.&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`+`=`(T`): [^`:`:Size`_^ Size`_]`&_[@0 operator`+`=](T_[@3 t])&] +[s2; Increases both dimension with the same value [*@3 t].&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`-`=`(`:`:Size`_`): [^`:`:Size`_^ Size`_]`&_[@0 operator`-`=]( +[^`:`:Size`_^ Size`_]_[@3 p])&] +[s2; Decreases cx with [*@3 p]`'s horizontal dimension and cy with +[*@3 p]`'s vertical dimension.&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`-`=`(T`): [^`:`:Size`_^ Size`_]`&_[@0 operator`-`=]([@4 T]_[@3 t +])&] +[s2; Decreases both dimension with the same value [*@3 t].&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`*`=`(`:`:Size`_`): [^`:`:Size`_^ Size`_]`&_[@0 operator`*`=]( +[^`:`:Size`_^ Size`_]_[@3 p])&] +[s2; Multiplies cx with [*@3 p]`'s horizontal dimension and cy with +[*@3 p]`'s vertical dimension.&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`*`=`(T`): [^`:`:Size`_^ Size`_]`&_[@0 operator`*`=](T_[@3 t])&] +[s2; Multiplies both dimension with the same value [*@3 t].&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`/`=`(`:`:Size`_`): [^`:`:Size`_^ Size`_]`&_[@0 operator/`=]( +[^`:`:Size`_^ Size`_]_[@3 p])&] +[s2; Divides cx with [*@3 p]`'s horizontal dimension and cy with [*@3 p]`'s +vertical dimension.&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`/`=`(T`): [^`:`:Size`_^ Size`_]`&_[@0 operator/`=](T_[@3 t])&] +[s2; Divides both dimension with the same value [*@3 t].&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`<`<`=`(int`): [^`:`:Size`_^ Size`_]`&_[@0 operator<<`=]([@(0.0.255) i +nt]_[@3 sh])&] +[s2; Shift both dimensions left by [*@3 sh].&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`>`>`=`(int`): [^`:`:Size`_^ Size`_]`&_[@0 operator>>`=]([@(0.0.255) i +nt]_[@3 sh])&] +[s2; Shift both dimensions right by [*@3 sh].&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`+`+`(`): [^`:`:Size`_^ Size`_]`&_[@0 operator`+`+]()&] +[s2; Increments both dimensions.&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`-`-`(`): [^`:`:Size`_^ Size`_]`&_[@0 operator`-`-]()&] +[s2; Decrements both dimensions.&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`:`:Value`(`)const: operator_[@0 Value]()_const&] +[s2; Returns a conversion of the size to [* Value].&] +[s4; &] +[s3;K:`:`:Size`_`:`:Serialize`(`:`:Stream`&`): [@(0.0.255) void]_[@0 Serialize]([^`:`:Stream^ S +tream]`&_[@3 s])&] +[s2; Serializes the size to a stream [*@(141.42.0) s].&] +[s0; &] +[s0; &] +[ {{10000F(128)G(128)@1 [s0; Friend Detail]}}&] +[s0; &] +[s3;K:`:`:Size`_`:`:operator`+`(`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_]_ +[@0 operator`+]([^`:`:Size`_^ Size`_]_[@3 s])&] +[s2; Returns an unmodified size [%-*@3 s].&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`-`(`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_]_ +[@0 operator`-]([^`:`:Size`_^ Size`_]_[@3 s])&] +[s2; Returns a negated size [%-*@3 s].&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`+`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ S +ize`_]_[@0 operator`+]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s6;:`:`:Size`_`:`:operator`+`(`:`:Size`_`,T`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_ +]_[@0 operator`+]([^`:`:Size`_^ Size`_]_[@3 a], T_[@3 t])&] +[s6;:`:`:Size`_`:`:operator`+`(T`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_ +]_[@0 operator`+](T_[@3 t], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s2; Returns the result of the addition of two Size`_ values or a +Size`_ with single value.&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`-`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ S +ize`_]_[@0 operator`-]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s6;:`:`:Size`_`:`:operator`-`(`:`:Size`_`,T`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_ +]_[@0 operator`-]([^`:`:Size`_^ Size`_]_[@3 a], T_[@3 t])&] +[s6;:`:`:Size`_`:`:operator`-`(T`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_ +]_[@0 operator`-](T_[@3 t], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s2; Returns the result of the subtraction of two Size`_ values or +a Size`_ with single value.&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`*`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ S +ize`_]_[@0 operator`*]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s6;:`:`:Size`_`:`:operator`*`(`:`:Size`_`,T`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_ +]_[@0 operator`*]([^`:`:Size`_^ Size`_]_[@3 a], T_[@3 b])&] +[s6;:`:`:Size`_`:`:operator`*`(T`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_ +]_[@0 operator`*](T_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s2; Returns the result of the multiplication of two Size`_ values +or a Size`_ with single value.&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`/`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ S +ize`_]_[@0 operator/]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s6;:`:`:Size`_`:`:operator`/`(`:`:Size`_`,T`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_ +]_[@0 operator/]([^`:`:Size`_^ Size`_]_[@3 a], T_[@3 b])&] +[s2; Returns the result of the division of two Size`_ values or a +Size`_ with single value.&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`<`<`(`:`:Size`_`,int`):%- [@(0.0.255) friend]_[^`:`:Size`_^ S +ize`_]_[@0 operator<<]([^`:`:Size`_^ Size`_]_[@3 a], [@(0.0.255) int]_[@3 sh])&] +[s2; Returns the result of left shifting [*@3 a] by [*@3 sh].&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`>`>`(`:`:Size`_`,int`):%- [@(0.0.255) friend]_[^`:`:Size`_^ S +ize`_]_[@0 operator>>]([^`:`:Size`_^ Size`_]_[@3 a], [@(0.0.255) int]_[@3 sh])&] +[s2; Returns the result of right shifting [*@3 a] by [*@3 sh].&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`=`=`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[@(0.0.255) b +ool]_[@0 operator`=`=]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s2; Returns [* true ]if [*@3 a ]and [*@3 b ]have their respective dimension +equal, [* false ]otherwise.&] +[s4; &] +[s3;K:`:`:Size`_`:`:operator`!`=`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[@(0.0.255) b +ool]_[@0 operator!`=]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s2; Returns [* true ]if [*@3 a ]and [*@3 b ]have at least an unequal dimension, +[* false ]otherwise.&] +[s4; &] +[s3;K:`:`:Size`_`:`:min`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Si +ze`_]_[@0 min]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s2;%- [%% Returns a ][%%* Size`_][%% with it`'s dimension equaling the +minimum of the respective dimension between ][*@3 a][@3 ]and[%% ][*@3 b].&] +[s0;%- &] +[s3;K:`:`:Size`_`:`:max`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Si +ze`_]_[@0 max]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s2;%- [%% Returns a ][%%* Size`_][%% with it`'s dimension equaling the +maximum of the respective dimension between ][*@3 a][@3 ]and[%% ][*@3 b].&] +[s4; &] +[s3;K:`:`:Size`_`:`:Nvl`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Si +ze`_]_[@0 Nvl]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s2; Returns [%-*@3 b] if [%-*@3 a] is Null, [%-*@3 a] otherwise.&] +[s4; &] +[s3;K:`:`:Size`_`:`:ScalarProduct`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[@4 T]_ +[@0 ScalarProduct]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s2; Returns the scalar product between [%-*@3 a] and [%-*@3 b].&] +[s4; &] +[s3;K:`:`:Size`_`:`:VectorProduct`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[@4 T]_ +[@0 VectorProduct]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s2; Returns the vectorial product between [%-*@3 a] and [%-*@3 b].&] +[s4; &] +[s3;K:`:`:Size`_`:`:Squared`(`:`:Size`_`):%- [@(0.0.255) friend]_[@4 T]_[@0 Squared]([^`:`:Size`_^ S +ize`_]_[@3 a])&] +[s2; Returns a Size`_ with it`'s dimension equal to the square of +the dimension of [%-*@3 a].&] +[s4; &] +[s3;K:`:`:Size`_`:`:Length`(`:`:Size`_`):%- [@(0.0.255) friend]_[@(0.0.255) double]_[@0 Len +gth]([^`:`:Size`_^ Size`_]_[@3 a])&] +[s2; Returns the hypotenuse of the triangle described by [%-*@3 a].&] +[s0; ] \ No newline at end of file diff --git a/uppsrc/Core/src.tpp/Size$en-us.tpp b/uppsrc/Core/src.tpp/Size$en-us.tpp index a44c060ca..aae61d2b9 100644 --- a/uppsrc/Core/src.tpp/Size$en-us.tpp +++ b/uppsrc/Core/src.tpp/Size$en-us.tpp @@ -34,8 +34,8 @@ Size64&] [s2; Size`_ with [* int64][@(0.0.255) ]dimensions.&] [s0;*@(154.0.0)2 &] [s3; Sizef&] -[s6;:`:`:Sizef`:`:typedef: [@(0.0.255) typedef][@(64) _][^`:`:Size`_^@(64) Size`_][@(64) <][@(0.0.255) d -ouble][@(64) >_]Sizef&] +[s6;:`:`:Sizef`:`:typedef: [@(0.0.255) typedef]_[^`:`:Size`_^ Size`_]<[@(0.0.255) double]>_ +Sizef&] [s2; Size`_ with [* double][@(0.0.255) ]dimensions.&] [s0; &] [s0; &] @@ -83,10 +83,10 @@ uller]`&)&] [ {{10000F(128)G(128)@1 [s0; Public Field Detail]}}&] [s0; &] [s0; Public Field detail&] -[s3;K:`:`:Size`_`:`:cx:%- [@4 T][@(64) _]cx&] +[s3;K:`:`:Size`_`:`:cx:%- [@4 T]_cx&] [s2; the horizontal dimension&] [s0; &] -[s3;K:`:`:Size`_`:`:cy:%- [@4 T][@(64) _]cy&] +[s3;K:`:`:Size`_`:`:cy:%- [@4 T]_cy&] [s2; the vertical dimension&] [s0; &] [ {{10000F(128)G(128)@1 [s0; Method Detail]}}&] @@ -94,22 +94,20 @@ uller]`&)&] [s3;K:`:`:Size`_`:`:Clear`(`): [@(0.0.255) void]_[@0 Clear]()&] [s2; Sets both dimension to 0.&] [s4; &] -[s3;K:`:`:Size`_`:`:IsEmpty`(`)const: bool[@(64) _][@0 IsEmpty][@(64) ()_]const&] +[s3;K:`:`:Size`_`:`:IsEmpty`(`)const: bool_[@0 IsEmpty]()_const&] [s2; Returns [* true] if at least one dimension is 0, [* false] otherwise.&] [s4; &] [s3;K:`:`:Size`_`:`:SetNull`(`): [@(0.0.255) void]_[@0 SetNull]()&] [s2; Reinitializes the object to [* Null].&] [s4; &] -[s3;K:`:`:Size`_`:`:IsNullInstance`(`)const: bool[@(64) _][@0 IsNullInstance][@(64) ()_]con -st&] +[s3;K:`:`:Size`_`:`:IsNullInstance`(`)const: bool_[@0 IsNullInstance]()_const&] [s2; Verifies if size is [* Null].&] [s4; &] -[s3;K:`:`:Size`_`:`:GetHashValue`(`)const: unsigned[@(64) _][@0 GetHashValue][@(64) ()_]con -st&] +[s3;K:`:`:Size`_`:`:GetHashValue`(`)const: unsigned_[@0 GetHashValue]()_const&] [s2; Returns the hash value of the size.&] [s4; &] -[s3;K:`:`:Size`_`:`:ToString`(`)const: [^topic`:`/`/Core`/src`/String`$en`-us^@(64) Str -ing][@(64) _][@0 ToString][@(64) ()_]const&] +[s3;K:`:`:Size`_`:`:ToString`(`)const: [^topic`:`/`/Core`/src`/String`$en`-us^ String]_ +[@0 ToString]()_const&] [s2; Returns the [* String] representation of the size.&] [s4; &] [s3;K:`:`:Size`_`:`:operator`+`=`(`:`:Size`_`): [^`:`:Size`_^ Size`_]`&_[@0 operator`+`=]( @@ -159,8 +157,7 @@ nt]_[@3 sh])&] [s3;K:`:`:Size`_`:`:operator`-`-`(`): [^`:`:Size`_^ Size`_]`&_[@0 operator`-`-]()&] [s2; Decrements both dimensions.&] [s4; &] -[s3;K:`:`:Size`_`:`:operator`:`:Value`(`)const: operator[@(64) _][@0 Value][@(64) ()_]const -&] +[s3;K:`:`:Size`_`:`:operator`:`:Value`(`)const: operator_[@0 Value]()_const&] [s2; Returns a conversion of the size to [* Value].&] [s4; &] [s3;K:`:`:Size`_`:`:Serialize`(`:`:Stream`&`): [@(0.0.255) void]_[@0 Serialize]([^`:`:Stream^ S diff --git a/uppsrc/ide/Assist.cpp b/uppsrc/ide/Assist.cpp index eb61e4d6d..a35c80f8e 100644 --- a/uppsrc/ide/Assist.cpp +++ b/uppsrc/ide/Assist.cpp @@ -130,7 +130,6 @@ void AssistScanError(int line, const String& text) void AssistEditor::Context(Parser& parser, int pos) { - StartBrowserBase(); theide->ScanFile(); String s = Get(0, pos); StringStream ss(s); diff --git a/uppsrc/ide/Bottom.cpp b/uppsrc/ide/Bottom.cpp index 26074a431..98d284736 100644 --- a/uppsrc/ide/Bottom.cpp +++ b/uppsrc/ide/Bottom.cpp @@ -175,7 +175,6 @@ void Ide::SyncBottom() calc.SetFont(editorfont); SetBar(); if(q == BBROWSER) { - StartBrowserBase(); if(!browser.nesting.IsCursor()) browser.nesting.GoBegin(); } diff --git a/uppsrc/ide/Browser/Base.cpp b/uppsrc/ide/Browser/Base.cpp index f56c2ad4b..6bfcc74ae 100644 --- a/uppsrc/ide/Browser/Base.cpp +++ b/uppsrc/ide/Browser/Base.cpp @@ -63,8 +63,6 @@ void SaveBrowserBase() for(int k = 0; k < nest.GetCount(); k++) { CppItem& m = nest.item[k]; for(int p = 0; p < m.pos.GetCount(); p++) { - DDUMP(m.pos[p].GetFile()); - DDUMP(m.pos[p].line); StringStream& o = out.GetAdd(m.pos[p].GetFile()); s = base.GetKey(j); o % s; @@ -320,6 +318,9 @@ void ClearBrowserBase() void StartBrowserBase() { + static int start; + if(start) return; + start++; if(BrowserBase().GetCount() == 0) { Progress pi; pi.Title("Assist++"); @@ -327,6 +328,7 @@ void StartBrowserBase() UpdateBrowserBase(pi); FinishBase(AllCppWords()); } + start--; } void SyncBrowserBase() diff --git a/uppsrc/ide/Browser/Browser.cpp b/uppsrc/ide/Browser/Browser.cpp index 068816b56..c46483577 100644 --- a/uppsrc/ide/Browser/Browser.cpp +++ b/uppsrc/ide/Browser/Browser.cpp @@ -385,7 +385,6 @@ void Browser::QueryNest() void Browser::QueryWord(const String& w) { - StartBrowserBase(); query.package.Clear(); query.file.Clear(); query.name = w; @@ -397,7 +396,6 @@ void Browser::QueryWord(const String& w) void Browser::SetId(const String& id, const Vector& nest) { - StartBrowserBase(); query.package.Clear(); query.file.Clear(); query.name = id; diff --git a/uppsrc/ide/Browser/IdeTopic.cpp b/uppsrc/ide/Browser/IdeTopic.cpp index 27de2b678..7a467b695 100644 --- a/uppsrc/ide/Browser/IdeTopic.cpp +++ b/uppsrc/ide/Browser/IdeTopic.cpp @@ -64,7 +64,6 @@ struct FindBrokenRefIterator : RichText::Iterator { void TopicEditor::FindBrokenRef() { - StartBrowserBase(); Progress pi; pi.SetTotal(topic.GetCount()); for(;;) { @@ -344,7 +343,6 @@ void TopicEditor::SetFocus() #ifdef _DEBUG void TopicEditor::Repair() { - StartBrowserBase(); RichText text = editor.CopyText(0, editor.GetLength()); RichPara def; for(int i = 0; i < text.GetPartCount(); i++) diff --git a/uppsrc/ide/Browser/Query.cpp b/uppsrc/ide/Browser/Query.cpp index cb5f6ea84..bdc75604e 100644 --- a/uppsrc/ide/Browser/Query.cpp +++ b/uppsrc/ide/Browser/Query.cpp @@ -100,8 +100,6 @@ bool Browser::DoQuery() { if(querydlg.Perform(query) != IDOK) return false; - if(BrowserBase().GetCount() == 0) - StartBrowserBase(); Reload(); nesting.GoBegin(); return true; diff --git a/uppsrc/ide/Browser/Reference.cpp b/uppsrc/ide/Browser/Reference.cpp index 38d71b562..391e51b69 100644 --- a/uppsrc/ide/Browser/Reference.cpp +++ b/uppsrc/ide/Browser/Reference.cpp @@ -35,6 +35,5 @@ ReferenceDlg::ReferenceDlg() Sizeable().Zoomable(); Icon(TopicImg::Topic()); Breaker(classlist, IDYES); - StartBrowserBase(); browser.Reload(); } diff --git a/uppsrc/ide/Goto.cpp b/uppsrc/ide/Goto.cpp index d89051f03..4c5fcba3d 100644 --- a/uppsrc/ide/Goto.cpp +++ b/uppsrc/ide/Goto.cpp @@ -195,7 +195,6 @@ void Ide::Goto() void Ide::GotoGlobal() { SaveFile(); - StartBrowserBase(); GotoDlg dlg(Null); LoadFromGlobal(dlg, "IdeGotoGlobal"); int c = dlg.Run(); diff --git a/uppsrc/ide/Setup.cpp b/uppsrc/ide/Setup.cpp index c9637a398..7df73eeff 100644 --- a/uppsrc/ide/Setup.cpp +++ b/uppsrc/ide/Setup.cpp @@ -444,8 +444,6 @@ void Ide::SetupFormat() { } FileSetTime(ConfigFile("version"), ToTime(~edt.showtimeafter)); SaveLoadPackage(); - if(editor.auto_assist) - StartBrowserBase(); SyncCh(); } diff --git a/uppsrc/ide/ide.cpp b/uppsrc/ide/ide.cpp index dea65f335..cb2007efc 100644 --- a/uppsrc/ide/ide.cpp +++ b/uppsrc/ide/ide.cpp @@ -137,6 +137,7 @@ void Ide::SetMain(const String& package) if(IsNull(e)) e = GetFirstFile(); SyncRefs(); + StartBrowserBase(); EditFile(e); } @@ -168,8 +169,6 @@ bool Ide::OpenMainPackage() if(!IsOpen()) Open(); SetMain(p); - if(editor.auto_assist) - StartBrowserBase(); return true; }