ultimatepp/uppsrc/Core/src.tpp/Ref$en-us.tpp
cxl cbea669aa4 Core: Ref, Sql: S_* refactored
git-svn-id: svn://ultimatepp.org/upp/trunk@6519 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2013-11-03 14:36:25 +00:00

87 lines
No EOL
3.9 KiB
C++

topic "Ref";
[2 $$0,0#00000000000000000000000000000000:Default]
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
[l288;2 $$2,2#27521748481378242620020725143825:desc]
[0 $$3,0#96390100711032703541132217272105:end]
[H6;0 $$4,0#05600065144404261032431302351956:begin]
[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item]
[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement]
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
[b42;2 $$9,9#13035079074754324216151401829390:normal]
[{_}
[ {{10000@(113.42.0) [s0;%% [*@7;4 Ref]]}}&]
[s1;@(0.0.255)3 &]
[s1;:Ref`:`:class: [@(0.0.255)3 class][3 _][*3 Ref][3 _:_][@(0.0.255)3 private][3 _][*@3;3 Moveable][3 <
][*3 Ref][3 >_]&]
[s2;%% Generic reference to rich Value types and Value. Constructor
from various rich Value creates Ref, which then can be used to
assign values to original. Note that assigning Ref to Ref assigns
the reference, not the value (in this regard, it works more like
C`+`+ pointer than C`+`+ reference).&]
[s3; &]
[s0;i448;a25;kKO9;:noref:@(0.0.255) &]
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
[s3; &]
[s5;:Ref`:`:GetType`(`)const: [_^dword^ dword]_[* GetType]()_[@(0.0.255) const]&]
[s2;%% Returns the type of referenced variable (same codes as for
Value, value itself has VALUE`_V type).&]
[s3; &]
[s4; &]
[s5;:Ref`:`:IsNull`(`)const: [@(0.0.255) bool]_[* IsNull]()_[@(0.0.255) const]&]
[s2;%% Returns true if referenced variable contains Null.&]
[s3; &]
[s4; &]
[s5;:Ref`:`:Is`(`)const: [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T]>_[@(0.0.255) bool]_
[* Is]()_[@(0.0.255) const]&]
[s2;%% Returns true if referenced variable is of type [%-*@4 T].&]
[s3; &]
[s4; &]
[s5;:Ref`:`:Get`(`)const: [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T]>_[*@4 T][@(0.0.255) `&
]_[* Get]()_[@(0.0.255) const]&]
[s2; [%% Returns reference to referenced variable (Is<][*@4 T]> must
be true, otherwise undefined).&]
[s3; &]
[s4; &]
[s5;:Ref`:`:SetNull`(`): [@(0.0.255) void]_[* SetNull]()&]
[s2;%% Sets Null to referenced variable.&]
[s3; &]
[s4; &]
[s5;:Ref`:`:GetValue`(`)const: [_^Value^ Value]_[* GetValue]()_[@(0.0.255) const]&]
[s2;%% Returns the content of referenced variable as Value.&]
[s3; &]
[s4; &]
[s5;:Ref`:`:SetValue`(const Value`&`): [@(0.0.255) void]_[* SetValue]([@(0.0.255) const]_[_^Value^ V
alue][@(0.0.255) `&]_[*@3 v])&]
[s2;%% Sets the content of referenced variable to [%-*@3 v].&]
[s3;%% &]
[s4; &]
[s5;:Ref`:`:operator Value`(`)const: [* operator_Value]()_[@(0.0.255) const]&]
[s2;%% Same as GetValue().&]
[s3; &]
[s4; &]
[s5;:Ref`:`:operator`~`(`)const: [_^Value^ Value]_[* operator`~]()_[@(0.0.255) const]&]
[s2;%% Same as GetValue().&]
[s3; &]
[s4; &]
[s5;:Ref`:`:operator`=`(const Value`&`): [_^Ref^ Ref][@(0.0.255) `&]_[* operator`=]([@(0.0.255) c
onst]_[_^Value^ Value][@(0.0.255) `&]_[*@3 v])&]
[s2;%% Same as SetValue([%-*@3 v]).&]
[s3;%% &]
[s4; &]
[s5;:Ref`:`:Ref`(String`&`): [* Ref]([_^String^ String][@(0.0.255) `&]_[*@3 s])&]
[s5;:Ref`:`:Ref`(WString`&`): [* Ref]([_^WString^ WString][@(0.0.255) `&]_[*@3 s])&]
[s5;:Ref`:`:Ref`(int`&`): [* Ref]([@(0.0.255) int`&]_[*@3 i])&]
[s5;:Ref`:`:Ref`(int64`&`): [* Ref]([_^int64^ int64][@(0.0.255) `&]_[*@3 i])&]
[s5;:Ref`:`:Ref`(double`&`): [* Ref]([@(0.0.255) double`&]_[*@3 d])&]
[s5;:Ref`:`:Ref`(bool`&`): [* Ref]([@(0.0.255) bool`&]_[*@3 b])&]
[s5;:Ref`:`:Ref`(Date`&`): [* Ref]([_^Date^ Date][@(0.0.255) `&]_[*@3 d])&]
[s5;:Ref`:`:Ref`(Time`&`): [* Ref]([_^Time^ Time][@(0.0.255) `&]_[*@3 t])&]
[s5;:Ref`:`:Ref`(Value`&`): [* Ref]([_^Value^ Value][@(0.0.255) `&]_[*@3 v])&]
[s2;%% Support for standard Value types and Value.&]
[s3;%% &]
[s4; &]
[s5;:Ref`:`:Ref`(`): [* Ref]()&]
[s2;%% Default constructor, constructs empty Ref (no variable referenced,
no value can be assigned).&]
[s0;%% ]]