8 #include <system/type_info.h>
9 #include <system/object_ext.h>
10 #include <system/details/pointer_collection_helpers.h>
11 #include <system/constraints.h>
12 #include <system/boxed_value.h>
21 namespace Connectivity
24 class MspAssnBaseLine;
40 template <
typename,
typename>
class FieldItem;
46 class InternalApiProjectWriter;
49 class ProjectGuidPropertyMapper;
57 class BuiltInProjectProperty;
59 template <
typename>
class PropertyContainer;
76 template<
typename T,
typename K>
77 class Key :
public System::Object,
public System::Details::BoxableObjectBase
79 assert_is_cs_struct(K);
82 typedef System::Object BaseType;
84 typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
85 RTTI_INFO_TEMPLATE_CLASS(
ThisType, ThisTypeBaseTypesInfo);
87 template<
typename FT0,
typename FT1>
friend class Key;
88 friend class Aspose::Tasks::Connectivity::MspExtAttr;
89 template<
typename FT0,
typename FT1>
friend class Aspose::Tasks::IO::MSProject::FieldItem;
90 friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ProjectGuidPropertyMapper;
92 friend class Aspose::Tasks::Connectivity::MspAssnBaseLine;
95 friend class Aspose::Tasks::Connectivity::PmCurr;
96 friend class Aspose::Tasks::Connectivity::MspAssn;
97 template<
typename FT0,
typename FT1>
friend class Aspose::Tasks::IO::MSProject::FieldItem;
100 friend class Aspose::Tasks::Connectivity::MspTskBaseLine;
101 friend class Aspose::Tasks::Connectivity::PmRscRate;
102 friend class Aspose::Tasks::Connectivity::MspTsk;
103 friend class Aspose::Tasks::Connectivity::PmTaskLink;
104 friend class Aspose::Tasks::IO::Pwa::InternalApi::InternalApiProjectWriter;
105 friend class Aspose::Tasks::Connectivity::MspTskLink;
106 friend class Aspose::Tasks::Connectivity::PmRsc;
109 friend class Aspose::Tasks::Connectivity::MspCal;
110 friend class Aspose::Tasks::Connectivity::PmCal;
111 template<
typename FT0,
typename FT1>
113 template<
typename FT0,
typename FT1>
123 return (*this).keyType;
126 Key() : keyTypeIndex(0), propCategory(0), keyType(K())
130 void SetTemplateWeakPtr(uint32_t argument)
override
138 System::Details::CollectionHelpers::SetWeakPointer(keyType);
146 int32_t get_KeyTypeIndex()
const
148 return (*this).keyTypeIndex;
151 uint8_t get_PropCategory()
const
153 return (*this).propCategory;
156 System::String get_KeyName()
158 return System::ObjectExt::ToString((*this).keyType);
161 Key(K keyType) : Key(keyType, static_cast<uint8_t>(0))
165 MEMBER_FUNCTION_MAKE_OBJECT(Key, CODEPORTING_ARGS(K keyType), CODEPORTING_ARGS(keyType));
166 Key(K keyType, uint8_t category) : keyTypeIndex(0), propCategory(0), keyType(K())
168 (*this).keyType = keyType;
169 (*this).propCategory = category;
170 (*this).keyTypeIndex = (uint8_t)keyType;
173 MEMBER_FUNCTION_MAKE_OBJECT(Key, CODEPORTING_ARGS(K keyType, uint8_t category), CODEPORTING_ARGS(keyType, category));
174 template<
typename TC>
175 bool IsEqual(Key<TC, K> key)
177 return (*this).get_KeyTypeIndex() == key.get_KeyTypeIndex() && System::ObjectExt::GetType<T>() == System::ObjectExt::GetType<TC>();
180 #ifdef ASPOSE_GET_SHARED_MEMBERS
181 void GetSharedMembers(System::Object::shared_members_type& result)
const override
183 System::Object::GetSharedMembers(result);
185 result.Add(
"Aspose::Tasks::Key::keyType", this->keyType);
192 uint8_t keyTypeIndex;
193 uint8_t propCategory;
194 static System::TypeInfo& UnderlyingType()
196 static System::TypeInfo value;
197 static std::once_flag once;
198 std::call_once(once, []
200 value = System::Enum<K>::GetUnderlyingType();
209 template<
typename T,
typename K>
210 inline bool operator ==(Key<T, K> k1, Key<T, K> k2)
212 return System::ObjectExt::Equals(k1.keyType, k2.keyType);
214 template<
typename T,
typename K>
215 inline bool operator !=(Key<T, K> k1, Key<T, K> k2)
217 return !System::ObjectExt::Equals(k1.keyType, k2.keyType);
Represents properties of ResourceAssignment object.
Definition: Asn.h:44
Represents a property key of a class of the specified type. An instance of this class is used when ge...
Definition: Key.h:78
K get_KeyType() const
Gets the key of the property.
Definition: Key.h:121
Represents supported properties of Project object.
Definition: Prj.h:49
Represents a built-in property.
Definition: BuiltInProjectProperty.h:37
Represents property container.
Definition: PropertyContainer.h:32
Represents supported properties of Resource object.
Definition: Rsc.h:45
Represents a task in a project.
Definition: Task.h:391
Represents properties of Task object.
Definition: Tsk.h:46
Aspose.
Definition: Asn.h:13