2 * Copyright (c) 2007-2010 SlimDX Group
\r
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
\r
5 * of this software and associated documentation files (the "Software"), to deal
\r
6 * in the Software without restriction, including without limitation the rights
\r
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
\r
8 * copies of the Software, and to permit persons to whom the Software is
\r
9 * furnished to do so, subject to the following conditions:
\r
11 * The above copyright notice and this permission notice shall be included in
\r
12 * all copies or substantial portions of the Software.
\r
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
\r
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
\r
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
\r
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
\r
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
\r
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
\r
24 #include "Enums11.h"
\r
28 namespace Direct3D11
\r
31 /// Contains the results of a request for counter information.
\r
33 public value class CounterMetadata : System::IEquatable<CounterMetadata>
\r
37 int m_ActiveCounters;
\r
38 System::String^ m_Name;
\r
39 System::String^ m_Units;
\r
40 System::String^ m_Description;
\r
43 CounterMetadata( CounterType type, int count, System::String^ name, System::String^ units, System::String^ description );
\r
47 /// The data type of the counter.
\r
49 property CounterType Type
\r
55 /// The number of hardware counters needed for the desired counter type to be created. All instances of the same counter type use the same hardware counters.
\r
57 property int HardwareCounterCount
\r
63 /// The name of the counter.
\r
65 property System::String^ Name
\r
67 System::String^ get();
\r
71 /// The name of the units the counter measures.
\r
73 property System::String^ Units
\r
75 System::String^ get();
\r
79 /// A brief description of the counter.
\r
81 property System::String^ Description
\r
83 System::String^ get();
\r
87 /// Tests for equality between two objects.
\r
89 /// <param name="left">The first value to compare.</param>
\r
90 /// <param name="right">The second value to compare.</param>
\r
91 /// <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
\r
92 static bool operator == ( CounterMetadata left, CounterMetadata right );
\r
95 /// Tests for inequality between two objects.
\r
97 /// <param name="left">The first value to compare.</param>
\r
98 /// <param name="right">The second value to compare.</param>
\r
99 /// <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
\r
100 static bool operator != ( CounterMetadata left, CounterMetadata right );
\r
103 /// Returns the hash code for this instance.
\r
105 /// <returns>A 32-bit signed integer hash code.</returns>
\r
106 virtual int GetHashCode() override;
\r
109 /// Returns a value that indicates whether the current instance is equal to a specified object.
\r
111 /// <param name="obj">Object to make the comparison with.</param>
\r
112 /// <returns><c>true</c> if the current instance is equal to the specified object; <c>false</c> otherwise.</returns>
\r
113 virtual bool Equals( System::Object^ obj ) override;
\r
116 /// Returns a value that indicates whether the current instance is equal to the specified object.
\r
118 /// <param name="other">Object to make the comparison with.</param>
\r
119 /// <returns><c>true</c> if the current instance is equal to the specified object; <c>false</c> otherwise.</returns>
\r
120 virtual bool Equals( CounterMetadata other );
\r
123 /// Determines whether the specified object instances are considered equal.
\r
125 /// <param name="value1">The first value to compare.</param>
\r
126 /// <param name="value2">The second value to compare.</param>
\r
127 /// <returns><c>true</c> if <paramref name="value1"/> is the same instance as <paramref name="value2"/> or
\r
128 /// if both are <c>null</c> references or if <c>value1.Equals(value2)</c> returns <c>true</c>; otherwise, <c>false</c>.</returns>
\r
129 static bool Equals( CounterMetadata% value1, CounterMetadata% value2 );
\r