// Copyright (c) Alexandre Mutel. All rights reserved. // Licensed under the BSD-Clause 2 license. // See license.txt file in the project root for full license information. namespace CppAst { /// /// Base class for C++ types. /// public abstract class CppType : CppElement { /// /// Constructor with the specified type kind. /// /// protected CppType(CppTypeKind typeKind) { TypeKind = typeKind; } /// /// Gets the of this instance. /// public CppTypeKind TypeKind { get; } public abstract int SizeOf { get; set; } /// /// Gets the canonical type of this type instance. /// /// A canonical type of this type instance public abstract CppType GetCanonicalType(); /// /// We can use this name in exporter to use this type. /// public virtual string FullName { get { return ToString(); } } } }