Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetFixedSizeLabelNameDictionary< TStringSequence, TObjectSequence >()

FixedSizeLabelNameDictionary< TStringSequence, TObjectSequence, TAggregator > System.Diagnostics.Metrics.MultiSizeLabelNameDictionary< TAggregator >.GetFixedSizeLabelNameDictionary< TStringSequence, TObjectSequence > ( )
inline
Type Constraints
TStringSequence :IStringSequence 
TStringSequence :IEquatable<TStringSequence> 
TObjectSequence :IObjectSequence 
TObjectSequence :IEquatable<TObjectSequence> 

Definition at line 71 of file MultiSizeLabelNameDictionary.cs.

71 : IStringSequence, IEquatable<TStringSequence> where TObjectSequence : IObjectSequence, IEquatable<TObjectSequence>
72 {
73 TStringSequence val = default(TStringSequence);
74 if (!(val is StringSequence1))
75 {
76 if (!(val is StringSequence2))
77 {
78 if (!(val is StringSequence3))
79 {
80 if (val is StringSequenceMany)
81 {
82 if (LabelMany == null)
83 {
84 Interlocked.CompareExchange(ref LabelMany, new FixedSizeLabelNameDictionary<StringSequenceMany, ObjectSequenceMany, TAggregator>(), null);
85 }
86 return (FixedSizeLabelNameDictionary<TStringSequence, TObjectSequence, TAggregator>)(object)LabelMany;
87 }
88 return null;
89 }
90 if (Label3 == null)
91 {
92 Interlocked.CompareExchange(ref Label3, new FixedSizeLabelNameDictionary<StringSequence3, ObjectSequence3, TAggregator>(), null);
93 }
94 return (FixedSizeLabelNameDictionary<TStringSequence, TObjectSequence, TAggregator>)(object)Label3;
95 }
96 if (Label2 == null)
97 {
98 Interlocked.CompareExchange(ref Label2, new FixedSizeLabelNameDictionary<StringSequence2, ObjectSequence2, TAggregator>(), null);
99 }
100 return (FixedSizeLabelNameDictionary<TStringSequence, TObjectSequence, TAggregator>)(object)Label2;
101 }
102 if (Label1 == null)
103 {
104 Interlocked.CompareExchange(ref Label1, new FixedSizeLabelNameDictionary<StringSequence1, ObjectSequence1, TAggregator>(), null);
105 }
106 return (FixedSizeLabelNameDictionary<TStringSequence, TObjectSequence, TAggregator>)(object)Label1;
107 }
FixedSizeLabelNameDictionary< StringSequence2, ObjectSequence2, TAggregator > Label2
FixedSizeLabelNameDictionary< StringSequence3, ObjectSequence3, TAggregator > Label3
FixedSizeLabelNameDictionary< StringSequenceMany, ObjectSequenceMany, TAggregator > LabelMany
FixedSizeLabelNameDictionary< StringSequence1, ObjectSequence1, TAggregator > Label1
static int CompareExchange(ref int location1, int value, int comparand)

References System.Threading.Interlocked.CompareExchange(), System.Diagnostics.Metrics.MultiSizeLabelNameDictionary< TAggregator >.Label1, System.Diagnostics.Metrics.MultiSizeLabelNameDictionary< TAggregator >.Label2, System.Diagnostics.Metrics.MultiSizeLabelNameDictionary< TAggregator >.Label3, and System.Diagnostics.Metrics.MultiSizeLabelNameDictionary< TAggregator >.LabelMany.