/// <summary>Initialize a 32-bit group tag attribute</summary> /// <param name="groupTag">Four character code string</param> /// <param name="name">Name of this group tag</param> /// <param name="uuid"><see cref="Guid"/> for this group tag</param> public GroupTagData32Attribute(string groupTag, string name, string uuid) { Contract.Requires(!string.IsNullOrEmpty(groupTag)); Contract.Requires(!string.IsNullOrEmpty(name)); Contract.Requires(groupTag.Length == GroupTagData32.kExpectedTagLength); GroupTag = new GroupTagData32(groupTag, name, new KGuid(uuid)); }
/// <summary>Specialized ctor for initialing from two <see cref="GroupTagData32"/> instances along with a <see cref="Guid"/></summary> /// <param name="maj">First four-character code</param> /// <param name="min">Second four-character code</param> /// <param name="name">Name of this <see cref="GroupTagData32"/> pair</param> /// <param name="uuid">Guid for this group tag</param> /// <remarks>Constructs a group tag in the form of '<paramref name="maj"/>' + '<paramref name="min"/>'</remarks> public GroupTagData64(GroupTagData32 maj, GroupTagData32 min, string name, KGuid uuid) : base(maj, min, name, uuid) { Contract.Requires(maj != null && maj != GroupTagData32.Null); Contract.Requires(min != null && min != GroupTagData32.Null); Contract.Requires(!string.IsNullOrEmpty(name)); Contract.Assume(Tag.Length == kExpectedTagLength); mID = ToULong(Tag); }
/// <summary> /// Takes another four character code and performs a check on it against this object's tag to see if they are completely equal</summary> /// <param name="other"></param> /// <returns>True if equal to this</returns> public override bool Test(char[] other) => GroupTagData32.Test(Tag, other);